Черты и передача признаков в качестве параметров шаблона

Когда целесообразно передавать признаки в качестве параметров шаблона, а не просто использовать некоторые существующие структуры признаков, такие как

typedef basic_ofstream >

vs.

typedef basic_ofstream ?

У меня есть несколько классов плиток, которые я хотел бы иметь общие черты (черты), поэтому я разработал tile_traits , чтобы содержать всю основную информацию о тайле, такую ​​как int_type и flag_type , например:

//unspecialized
template<typename T> struct tile_traits;
//... other stuff here, declaration of a tile class
template<>
struct tile_traits<tile_class>
{
   typedef tile_class::int_type  int_type;
   typedef tile_class::flag_type flag_type;
   //other possible tile info here.
}

Проектирование черт как таковых считается a traits-blob ?

7
задан Khaled Nassar 11 February 2011 в 07:48
поделиться