Информация об изменениях

Сообщение Re[52]: Зачем плюс? от 26.12.2018 17:12

Изменено 26.12.2018 17:31 rg45

Re[52]: Зачем плюс?
Здравствуйте, Максим Рогожин, Вы писали:

МР>>>А есть другой язык, похожий на С++ тем, что есть объекты на стеке и соответственно lvalue/rvalue?


R>>В полном объеме — вряд ли. Но отдельные элементы встречаются. Например, в C# все объекты простых типов, а также типов-значений (value types) создаются как раз на стеке (если оставить за скобками возможность специальной операции т.н. "боксинга"). И эти объекты можно передавать в функции с параметрами, объявленными при помощи ключевого слова ref, фактически являющиеся аналогами lvalue-ссылок в С++.


МР>С простыми типами все просто — для них же move-семантика не нужна


Что-то я не успеваю за тобой. Вроде только что говорили про ссылки и их востребованность и тут, вдруг, возникает move-семантика, ни с того, ни с сего.

И кстати, к value-типам в С# относятся не только простые типы, но типы, определенные пользователем, при помощи ключевого слова struct.
Re[52]: Зачем плюс?
Здравствуйте, Максим Рогожин, Вы писали:

МР>>>А есть другой язык, похожий на С++ тем, что есть объекты на стеке и соответственно lvalue/rvalue?


R>>В полном объеме — вряд ли. Но отдельные элементы встречаются. Например, в C# все объекты простых типов, а также типов-значений (value types) создаются как раз на стеке (если оставить за скобками возможность специальной операции т.н. "боксинга"). И эти объекты можно передавать в функции с параметрами, объявленными при помощи ключевого слова ref, фактически являющиеся аналогами lvalue-ссылок в С++.


МР>С простыми типами все просто — для них же move-семантика не нужна


Что-то я не успеваю за тобой. Вроде только что говорили про ссылки и их востребованность и тут, вдруг, возникает move-семантика, ни с того, ни с сего.

И кстати, к value-типам в С# относятся не только простые типы, но типы, определенные пользователем, при помощи ключевого слова struct (структуры).