Я понимаю, что они кодируют информацию о типе, с которым вы их создаете, но как они работают? Скажите, например, черту типа std::is_class
. Как он выполняет свою работу? Все реализации кажутся пустыми структурами, и я должен признать, что я почесываю голову.C++ Type Traits
Имена кажутся достаточно дескриптивными, поэтому я могу понять, что они означают, но Каковы типичные сценарии, которые используют черты типа?
Я не могу найти вводные ресурсы по этому вопросу (или вопросы по SO). Указатели будут оценены.
Они могут быть реализованы компилятором (хотя они выглядят как регулярные определения шаблонов классов). Тем не менее, я думаю, что возможная реализация 'is_class' описана в« Современном дизайне C++ »Александреску. –
Связанный: http://stackoverflow.com/q/20181702/420683 – dyp