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

Сообщение Re: Value Semantics (CppCon 2022) от 12.02.2023 11:54

Изменено 12.02.2023 12:00 Kernan

Re: Value Semantics (CppCon 2022)
Здравствуйте, Videoman, Вы писали:

V>- С++ отлично поддерживает value types, поэтому используйте эту возможность по максимуму, где это возможно и не будете иметь каскад описанных в докладе проблем.

А что, многие имели каскад описываемых проблем? Вот всю жизнь так делали и вот тебе на, оказывается проблемы на ровном месте.
V>- Reference types — тоже самое, что глобальные переменные, поэтому избегайте эту семантику как только можете.
Скоуп всё же меньше, не надо драматизировать и нагнетать. В рамках этого скоупа можно легко понять кто и что меняет.
V>А интересным он показался мне потому, что я, неосознанно, сам начал скатываться к тем же методам что используются в докладе, но не мог четко обосновать самому себе. Особенно актуально в свете массовой многопоточки и параллельности.
Это будет работать если обеспечить атомарность конструктора копирования или перемещения, тогда можно будет запускать несколько функций в разных потоках не беспокоясь о гонках, т.к. все они будут работать со своей копией данных.
Ещё коллега B0FEE664 задал корректный вопрос про исключение при move.
V>Интересно мнение коллег, кто что думает на эту тему?
Насмотрелись на иммутабельность в функциональных языках и тащат теперь везде. Я думаю проблема связана больше с конструкциями async/await в тоге, чем с тем что он приводил как "проблему".
Re: Value Semantics (CppCon 2022)
Здравствуйте, Videoman, Вы писали:

V>- С++ отлично поддерживает value types, поэтому используйте эту возможность по максимуму, где это возможно и не будете иметь каскад описанных в докладе проблем.

А что, многие имели каскад описываемых проблем? Вот всю жизнь так делали и вот тебе на, оказывается проблемы на ровном месте.
V>- Reference types — тоже самое, что глобальные переменные, поэтому избегайте эту семантику как только можете.
Скоуп всё же меньше, не надо драматизировать и нагнетать. В рамках этого скоупа можно легко понять кто и что меняет.
V>А интересным он показался мне потому, что я, неосознанно, сам начал скатываться к тем же методам что используются в докладе, но не мог четко обосновать самому себе. Особенно актуально в свете массовой многопоточки и параллельности.
Это будет работать если обеспечить атомарность конструктора копирования или перемещения, тогда можно будет запускать несколько функций в разных потоках не беспокоясь о гонках, т.к. все они будут работать со своей копией данных.
Ещё коллега B0FEE664 задал корректный вопрос про исключение при move.
V>Интересно мнение коллег, кто что думает на эту тему?
Насмотрелись на иммутабельность в функциональных языках и тащат теперь везде. Я думаю проблема связана больше с конструкциями async/await в итоге, чем с тем что он приводил как "проблему".