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 ++模板内部[重复]的主要内容,如果未能解决你的问题,请参考以下文章