Внутреннее устройство шаблона С++

Возможный дубликат:
Подробности создания экземпляра шаблона компиляторов GCC и MS

  1. Как компилятор C++ упрощает программирование шаблонов? Мне интересно узнать схему, которой следует компилятор при программировании шаблонов.

  2. Кроме того, в чем разница между именем типа и классом с точки зрения шаблона С++?


person Samuzzal Choudhury    schedule 14.11.2011    source источник
comment
2. stackoverflow.com/questions/2023977/   -  person Pubby    schedule 14.11.2011
comment
Спасибо, что указали мне на Пабби и Дмитрия. Как-то я не мог найти зацепку к этому.   -  person Samuzzal Choudhury    schedule 14.11.2011


Ответы (2)


Как компилятор C++ упрощает программирование шаблонов? Мне интересно узнать схему, которой следует компилятор при программировании шаблонов.

шаблоны на самом деле хранятся компилятором как своего рода макрос, который затем расширяется (части шаблона заменяются заданными значениями) после специализации, применяя проверку ограничений, указанную в шаблоне.

person LeleDumbo    schedule 14.11.2011

Кроме того, в чем разница между именем типа и классом с точки зрения шаблона С++?

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

 template <template <typename> class T>
 ...

не может быть заменен на

 template <template <typename> typename T>
 //                            ^^^^^^^^ wrong
 ...

Подробнее см. в разделе Шаблоны в c++, typename и class.

person Community    schedule 14.11.2011