Синтаксический сахар в лучшем случае. Концепты - единственная фича, которая мне была действительно полезна в повседневной жизни, но только в одном проекте, где я пишу максимум шаблонного кода. К моим продам это тоже не особо применимо. Релиз не только минорный, но и спорный. Модули, как я понял, так и остались корявыми (https://vector-of-bool.github.io/2019/01/27/modules-doa.html)
Синтаксический сахар в лучшем случае. Концепты - единственная фича, которая мне была действительно полезна в повседневной жизни, но только в одном проекте, где я пишу максимум шаблонного кода. К моим продам это тоже не особо применимо. Релиз не только минорный, но и спорный. Модули, как я понял, так и остались корявыми (https://vector-of-bool.github.io/2019/01/27/modules-doa.html)
Ну как мне видится, каноническая архитектура С++ программы заключается в паре вывод типов => стирание типов. Концепты должны очень сильно изменить первое
У меня полно кода, который не шаблонный. Он хорошо написан, отлажен, работает, лёгок для понимания благодаря правильному выделению абстракций и разбиению на классы и методы. И в нём некуда совать концепты.
Из того, с чем я работаю, их есть куда совать только в моих пет-проектах, где я конкретно упоролся на то, чтобы всё писать на шаблонах и constexpr, что только возможно.
У меня полно кода, который не шаблонный. Он хорошо написан, отлажен, работает, лёгок для понимания благодаря правильному выделению абстракций и разбиению на классы и методы. И в нём некуда совать концепты.
Вот только как функциональность динамический полиморфизм строго слабее статического
Ну как мне видится, каноническая архитектура С++ программы заключается в паре вывод типов => стирание типов. Концепты должны очень сильно изменить первое
не понял суть примера, можно пояснить? Костыли ставить не придётся, потому что если у класса забыт оператор==, это вылезет при первой компиляции первого вызова этого метода (или функции). А если он возвращает не bool - это вообще клиника.
не понял суть примера, можно пояснить? Костыли ставить не придётся, потому что если у класса забыт оператор==, это вылезет при первой компиляции первого вызова этого метода (или функции). А если он возвращает не bool - это вообще клиника.