Подтвердить что ты не робот

Какие хорошие методы программирования будут меняться с С++ 11?

Например, "Не возвращать объекты по значению, если они дороги для копирования" (RVO не всегда может использоваться). Этот совет может измениться из-за ссылок rvalue.

То же самое можно сказать и о хранении коллекций указателей на объекты, потому что копирование их по значению в коллекцию было слишком дорого; эта причина может быть более недействительной.

Или использование перечислений может быть обескуражено в пользу "класса enum".

Какие другие методы или советы изменится?

4b9b3361

Ответ 1

Я ожидаю, что С++, написанный в функциональном стиле, станет более распространенным, потому что:

  • Лямбда-выражения значительно упрощают использование стандартных алгоритмов библиотеки
  • Перенос семантики делает возврат стандартной библиотеки или других объектов контейнера RAII значительно более дешевым.

Ответ 2

Улучшена локальность кода с помощью лямбда-выражений.

Ответ 3

Ссылки Rvalue не являются заменой RVO или NRVO. Возвращение больших вещей по стоимости до сих пор глупо - это просто глупо, когда класс на самом деле мал и содержит кучу памяти. Передача в ссылке на возвращаемое значение по-прежнему является лучшей практикой, imo.

Функциональные объекты как raw structs/classes будут устаревать в пользу лямбда.

Я не могу много думать, если честно. С++ 0x, похоже, делает существующий код более простым, а не меняет его.