Она также предоставляет type_traits> для более общего метапрограммирования.
Эти два типа систем признаков имеют разный дизайн: std::char_traits — это шаблон класса ( с несколькими специализациями), который имеет несколько статических методов. предоставляет автономные шаблоны вместо статических методов.
Почему в этих двух системах используются разные подходы?
Я' Я не ищу мнений. Я надеюсь выявить ограничения, которые следует учитывать при разработке системы признаков.
- Есть ли что-то, что вы можете сделать с помощью одного подхода, чего вы не можете сделать с помощью другого подхода? другое?
- Эволюционировал ли язык, чтобы лучше соответствовать тому или иному подходу? (был стандартизирован в C++11; std::char_traits старше)
Код: Выделить всё
- Отражают ли разные подходы различия в проблемных областях? (общее метапрограммирование против унифицированной обработки для определенного конечного набора типов)
Подробнее здесь: https://stackoverflow.com/questions/791 ... ated-types