Size: a a a

2020 August 24

BB

Bohdan Bessonov in supapro.cxx
horse horssyyy
int&& test(int&& x) {
x++;
return x;
}

rror: cannot bind rvalue reference of type ‘int&&’ to lvalue of type ‘int’ in 'return x;'
x - не rvalue. x - lvalue
источник

hh

horse horssyyy in supapro.cxx
там происходит какая-то конвертация типа аргумента?
источник

D

Danya in supapro.cxx
horse horssyyy
там происходит какая-то конвертация типа аргумента?
Никакой конвертации не происходит
источник

hh

horse horssyyy in supapro.cxx
ну семантически принял rvalue reference X, его же вернул
источник

D

Danya in supapro.cxx
Все значения, которые имеют имя, по умолчанию lvalue выражения, даже если тип r-value reference
источник

hh

horse horssyyy in supapro.cxx
а стопэ
источник

hh

horse horssyyy in supapro.cxx
сама ссылка то lvalue
источник

hh

horse horssyyy in supapro.cxx
правильно?
источник

D

Danya in supapro.cxx
struct S {
 std::string str
 S(std::string&& str) : str(str) {} // copy
 S(std::string&& str) : str(std::move(str)) {} // move
};
источник

D

Danya in supapro.cxx
horse horssyyy
сама ссылка то lvalue
x — это lvalue выражение типа r-value ссылка на int
источник

hh

horse horssyyy in supapro.cxx
ну т.е. как бы это странно не было но это работает

const int& x = 123;
std::cout << &x;
return 0;
источник

ПК

Побитый Кирпич... in supapro.cxx
horse horssyyy
ну т.е. как бы это странно не было но это работает

const int& x = 123;
std::cout << &x;
return 0;
Почему странно?
источник

D

Danya in supapro.cxx
horse horssyyy
ну т.е. как бы это странно не было но это работает

const int& x = 123;
std::cout << &x;
return 0;
const& в некоторых случаях продлевают жизни временных объектов
источник

hh

horse horssyyy in supapro.cxx
ну кругом говорят ссылка это просто алиас - другое имя для переменной
источник

hh

horse horssyyy in supapro.cxx
тут нет к примеру никакой переменной
источник

ПК

Побитый Кирпич... in supapro.cxx
horse horssyyy
ну кругом говорят ссылка это просто алиас - другое имя для переменной
Так и есть
источник

ПК

Побитый Кирпич... in supapro.cxx
horse horssyyy
тут нет к примеру никакой переменной
Есть, просто спрятано от глаз
источник

ПК

Побитый Кирпич... in supapro.cxx
Считай что ты присвоил переменной _x, а потом взял ссылку
источник

hh

horse horssyyy in supapro.cxx
да походу и адрес её можно получить
источник

hh

horse horssyyy in supapro.cxx
тогда можн еще вопрос по этому примеру
источник