Думаю, когда наконец-то освоите их, захотите переписать всю библиотеку ещё раз. Шаблоны — вещь!
Кстати, тонкая настройка реализации тоже шаблонами на ура решается (почитайте про специализацию шаблонов и traits классы).
Как это не печально, массивы постепенно обрастают шаблонами, с одной стороны это упрощает разработку, с другой усложняет понимание и изменение под свои задачи.
Можете показать как шаблоны могут усложнить изменение под свои задачи?
И вы, конечно, извините, но после 12 лет разработки на плюсах писать, что шаблоны усложняют понимание, как минимум, странно.
Скажите, а как теперь быстро переключаться между Debug и Release сборками?
Сейчас для каждого переключения нужно лезть в меню, переключать там И переключать таргет. Можно как-то настроить переключение в одном месте — выбором таргетов или, на худой конец, только переключением настроек (а таргет бы подхватывал нужный режим сам)?
Тоже сталкивался с этим багом (весьма раздражающим). Чем именно он был вызван? Потому что проблема появлялась иногда и непонятно, что именно её тригерило. Например, мой код перестал дебажиться после того, как я перенёс определения методов из .h в .cpp.
А как будут обстоять дела с программами, в которых ROP зашит в логику? Я понимаю, что это крайне редкое явление, но такое вполне может использоваться в ручных оптимизациях «горячих» участков кода.
Не может. Они хоть и неизменяемые, но у каждой структуры значения разные. Поэтому в компайл-тайме о них ничего не известно. Возможно, применяются такие же оптимизации, как и с обычным const.
Если имеется в виду одна и та же константа, разделённая между всеми структурами, то пишут struct {static const int c;}, но это вроде как C++ only
Ну iostream и правда не самый быстрый, хотя бы в силу того, что при каждой IO операции сначала конструируется sentry-объект. Но абсурдности текста это не убавляет.
Нет, ну сразу на 4 версии поднялась, она гораздо лучше, чем предшественник!
Кстати, тонкая настройка реализации тоже шаблонами на ура решается (почитайте про специализацию шаблонов и traits классы).
Можете показать как шаблоны могут усложнить изменение под свои задачи?
И вы, конечно, извините, но после 12 лет разработки на плюсах писать, что шаблоны усложняют понимание, как минимум, странно.
Сейчас для каждого переключения нужно лезть в меню, переключать там И переключать таргет. Можно как-то настроить переключение в одном месте — выбором таргетов или, на худой конец, только переключением настроек (а таргет бы подхватывал нужный режим сам)?
Если имеется в виду одна и та же константа, разделённая между всеми структурами, то пишут struct {static const int c;}, но это вроде как C++ only