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

Сообщение Re[3]: Интерфейсы и реализации от 06.03.2024 1:31

Изменено 06.03.2024 1:32 rg45

Re[3]: Интерфейсы и реализации
Здравствуйте, Marty, Вы писали:

R>>
R>>template <typename T>
R>>concept Cursor = std::default_initializable<T> && BooleanTestable;
R>>


M>Не, можно попроще как-то?


Да можно и без концептов, в принципе, сделать то же самое, просто следить за соблюдением контрактов будет значительно труднее. И в написании перегруженных функций концепты здорово помогают. Можно конечно, пробовать делать лепить самописные концепты поверх SFINAE. Я пробовал — получается довольно убого.
Re[3]: Интерфейсы и реализации
Здравствуйте, Marty, Вы писали:

R>>
R>>template <typename T>
R>>concept Cursor = std::default_initializable<T> && BooleanTestable;
R>>


M>Не, можно попроще как-то?


Да можно и без концептов, в принципе, сделать то же самое, просто следить за соблюдением контрактов будет значительно труднее. И в написании перегруженных функций концепты здорово помогают. Можно конечно, пробовать лепить самописные концепты поверх SFINAE. Я пробовал — получается довольно убого.