.. и статической T не надо.
От: Andrew S Россия http://alchemy-lab.com
Дата: 07.03.03 14:50
Оценка:
А мне как то больше понравился такой вариант (где нет статического T _t):

template<class T>
class IsPointer
{
private:
struct TrueType  { char dummy_ [1];   };
struct FalseType { char dummy_ [2]; };
struct PointerShim
{
  PointerShim(const volatile void*);
};
static TrueType  ptr_discriminator(PointerShim);
static FalseType ptr_discriminator(...);
static T rett();

public:
  enum { value = sizeof(ptr_discriminator(rett())) == sizeof(TrueType) };
};
template<>
class IsPointer<void>
{
public:
  enum { value = false };
};


Кстати, еще неплохо было бы дабавить IsArray, который таки почти смог добить Андрей Тарасевич в одном из топиков форума С++

PS Павел, кстати, эту же статью от вас я уже видел в каком то online издании.. Или я ошибаюсь?

Исправлена подсветка синтаксиса. -- ПК.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.