C ++模板内部[重复]

Posted

技术标签:

【中文标题】C ++模板内部[重复]【英文标题】:C++ template internals [duplicate] 【发布时间】:2011-11-14 06:02:30 【问题描述】:

可能重复:Template instantiation details of GCC and MS compilers

    C++ 编译器如何促进模板编程?我有兴趣了解编译器在模板编程中遵循的方案。

    另外,就 C++ 模板而言,typename 和 class 之间有什么区别?

【问题讨论】:

2. ***.com/questions/2023977/… 感谢您指出 Pubby 和 Dmitry。不知何故,我找不到导致该问题的线索。 【参考方案1】:

C++ 编译器如何促进模板编程?我有兴趣了解编译器在模板编程中遵循的方案。

编译器实际上将模板保存为某种宏,然后在专门化时对其进行扩展(模板部分被替换为给定值),应用模板中指定的约束检查。

【讨论】:

【参考方案2】:

另外,就 C++ 模板而言,typename 和 class 之间有什么区别?

没有区别,除非你使用模板-模板参数:

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

不能替换为

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

Templates in c++,typename and class 中的更多内容。

【讨论】:

以上是关于C ++模板内部[重复]的主要内容,如果未能解决你的问题,请参考以下文章

通过 Ajax 将数据发布到 Flask 时出现 500 内部服务器错误 [重复]

C/C++中的可变参数和可变参数模板

在外部类中使用类模板时如何定义内部类构造函数?

C++11完美转发及实现方法详解

C++11完美转发及实现方法详解

Twig中的Break语句[重复]