Я написал функцию шаблона, которая принимает произвольное количество типов и отображает их размеры для базовой архитектуры и операционной системы. Однако функция не может отличать псевдоним от реального типа, поэтому его оценивают так, как будто она является реальным.Дифференцирование псевдонима и реальных типов во время компиляции?
Тем не менее, я хочу, чтобы во время компиляции можно было отличать псевдоним и встроенный тип и чередовать вывод на основе этого.
func<unsigned int, size_t>();
Выход:
Unsigned int is 4 bytes.
Unsigned int is 4 bytes.
Однако я хочу выход быть похожим,
Unsigned int is 4 bytes.
size_t is an alias for unsigned int.
Конечно, это требует компилятор, чтобы иметь возможность различать псевдоним и встроенный введите во время компиляции.
Итак, существует ли способ дифференцирования реального типа и псевдонима во время компиляции в любой версии на C++?
Какой хороший вопрос от нового пользователя! – Bathsheba