При определении шаблона функции экземпляры параметров шаблона в общем случае неизвестны. Черты типа могут использоваться для получения некоторой информации во время компиляции. Например, вот тривиальное приложение is_pointer
:
template <typename T>
void foo(T p) { cout << is_pointer<T>::value << endl; }
У меня такой вопрос: была ли когда-нибудь в функции не-шаблон ситуация, когда черты, подобные функциям времени компиляции, могли бы предоставить полезную информацию?