Здравствуйте, B0FEE664, Вы писали:
BFE>>>Чем это лучше:
BFE>>>BFE>>>std::string str = "a = " + std::to_string(var);
BFE>>>
W>>Медленно и многословно.
BFE>Точно медленно?
Ну, в приведенном выше случае разница сомнительна, но если мы подставляем несколько объектов в некоторый текст, то при конкатенации многократного копирования не избежать. А умная, оптимизированная интерполяция может предугадать необходимый размер (или использовать один заготовленный большой временный буфер), и лишнего копирования избежать. Или я ошибаюсь?
BFE>А многословно — чем плохо? Читать же легче.
Мне легче прочитать:
auto str = $"a = {var}";
BFE>Не понял, почему "оптимальное по скорости построение цельной строки"? Откуда это следует?
См. выше.
BFE>А то, что компактное — это не всегда хорошо.
В прикладном коде — хорошо. У меня, например, проект — по сути гигантский кодогенератор на C#. Там интерполяция, как говорится, "что доктор прописал".