#include <iostream>

int f()
{
	int a = 5;
	return a;
}

int& g()
{
	int a = 5;
	return a;
}

int&& h()
{
	return 5;
}

int&& i()
{
    int a = 5;
	return std::move(a);
}

int main()
{
	int l           {f()};
//	int& rl         {f()};
	const int& crl  {f()};
	int r           {std::move(f())};
	int&& rr        {std::move(f())};

	std::cout << "kopia " << l << " " << crl << " " << r << " " << rr << std::endl;

	int l2          {g()};
	int& rl2        {g()};
	const int& crl2 {g()};
	int r2          {std::move(g())};
	int&& rr2       {std::move(g())};

	std::cout << "referencja " << l2 << " " << rl2 << " " << crl2 << " " << r2 << " " << rr2 << std::endl;

	int l3          {h()};
//	int& rl3        {h()};
	const int& crl3 {h()};
	int r3          {std::move(h())};
	int&& rr3       {std::move(h())};

	std::cout << "u_referencja " << l3 << " " << crl3 << " " << r3 << " " << rr3 << std::endl;

	int l4          {i()};
//	int& rl4        {i()};
	const int& crl4 {i()};
	int r4          {i()};
	int&& rr4       {i()};

	std::cout << "u_referencja2 " << l4 << " " << crl4 << " " << r4 << " " << rr4 << std::endl;

	return 0;
}