代码中模板专业化的顺序会改变程序的含义吗?如果是,那为什么?
示例:
在源代码中的某个地方
// specialization A
...
// specialization B
...与
// specialization B
...
// specialization A
...这会产生同样的结果吗?
发布于 2018-04-23 13:10:33
只要依赖于这些专门化的代码片段已经看到了它们,那么顺序就无关紧要了。
换句话说,这个命令与
// specialization A
// Some code where B would be a better match
// specialization B发布于 2018-04-23 13:14:42
对函数模板、类模板、类模板的成员函数、类模板的静态数据成员、类模板的成员类、类模板的成员类模板、类模板的成员函数模板、类模板的成员模板的成员函数、类模板的成员类的成员函数模板、类模板的成员类的成员函数模板、类模板的成员类模板、非模板类的成员类模板、类模板的成员类模板等的显式专门化声明进行放置。根据显式专门化声明的相对位置及其在翻译单元中的实例化点(如上面和下面所指定的那样),影响程序的格式是否良好。当写一个专业,要小心它的位置,或者让它编译将是一个尝试,以点燃它的自焚。
简单引用2011年国际编程语言标准14.7.3/7节C++
是..。这不是开玩笑
https://stackoverflow.com/questions/49981951
复制相似问题