Size: a a a

2021 March 26

VD

Vlad Doc in C++ Together 2.0
Matrix Telegram Bridge
Princess Luna: Вот так нельзя изменить поля у клетки.
Всмысле флажок не меняется?
источник

M

Matrix Telegram Brid... in C++ Together 2.0
Vlad Doc
Всмысле флажок не меняется?
Princess Luna: да.
источник

VD

Vlad Doc in C++ Together 2.0
Matrix Telegram Bridge
Princess Luna: да.
Ты не копируешь где-то случайно?
источник

M

Matrix Telegram Brid... in C++ Together 2.0
Vlad Doc
Ты не копируешь где-то случайно?
Princess Luna: кого копирую?
источник

VD

Vlad Doc in C++ Together 2.0
Matrix Telegram Bridge
Princess Luna: кого копирую?
Клетку
источник

VD

Vlad Doc in C++ Together 2.0
Мб getItem не ссылку возвращает
источник

M

Matrix Telegram Brid... in C++ Together 2.0
Vlad Doc
Мб getItem не ссылку возвращает
Princess Luna: getItem  возвращает поле типа std::variant<Cell, Food>.
источник

M

Matrix Telegram Brid... in C++ Together 2.0
Princess Luna: судя по дебаггеру лишней копии клетки не создается.
источник

VD

Vlad Doc in C++ Together 2.0
Matrix Telegram Bridge
Princess Luna: getItem  возвращает поле типа std::variant<Cell, Food>.
Ну вот. Это значение а не ссылка
источник

M

Matrix Telegram Brid... in C++ Together 2.0
Princess Luna: Ага.
источник

M

Matrix Telegram Brid... in C++ Together 2.0
Princess Luna: А что делать?
источник

VD

Vlad Doc in C++ Together 2.0
Ты не изменишь так оригинал
источник

VD

Vlad Doc in C++ Together 2.0
Matrix Telegram Bridge
Princess Luna: А что делать?
Возвращать ссылку)
источник

M

Matrix Telegram Brid... in C++ Together 2.0
Vlad Doc
Возвращать ссылку)
Princess Luna: Ага, пошел гуглить.
источник

M

Matrix Telegram Brid... in C++ Together 2.0
Vlad Doc
Возвращать ссылку)
Princess Luna: Спасибо. Но хотелось бы понять почему.
источник

VD

Vlad Doc in C++ Together 2.0
Matrix Telegram Bridge
Princess Luna: Спасибо. Но хотелось бы понять почему.
Ну например у вектора есть оператор [] и ты хочешь написать vec[0] = 2;
источник

VD

Vlad Doc in C++ Together 2.0
А вот что было бы, если бы выражение vec[0] возвращало бы сам объект, а не ссылку?
источник

VD

Vlad Doc in C++ Together 2.0
Ну допустим для присвоения это бы не сработало так как ему нужно lvalue
источник

M

Matrix Telegram Brid... in C++ Together 2.0
Vlad Doc
А вот что было бы, если бы выражение vec[0] возвращало бы сам объект, а не ссылку?
Princess Luna: Если есть такой элемент, то он станет равным двум. если нет будет исключение.
источник

VD

Vlad Doc in C++ Together 2.0
Но методу то пофиг на каком объекте быть вызванным
источник