模板里的静态成员初始化可以放在头文件里面吧?和模板一起,该怎么处理
模板里的静态成员初始化可以放在头文件里面吧?和模板一起
我看C++ primer说静态成员初始化不应该放在声明的文件,也就是头文件里。这是必须的么?因为一般头文件都用宏控制只包含一次。还有模板的话放在Cpp里就会链接错误,所以我干脆就放一起了。会不会造成多重初始化的问题?
------解决方案--------------------
你最好把C++ Primer关于模板的章节,尤其那个包含编译模式/分离编译模式的章节复习一遍。
模板不受那个规则的约束。
------解决方案--------------------
模板类的声明和定义不能分开,只能放在一个文件里,
静态变量可以放在其他地方,只要在类的声明外面就可以了
------解决方案--------------------
现在只有少数编译器支持将模板类的声明和定义分开~~~~~~~~~~~
我看C++ primer说静态成员初始化不应该放在声明的文件,也就是头文件里。这是必须的么?因为一般头文件都用宏控制只包含一次。还有模板的话放在Cpp里就会链接错误,所以我干脆就放一起了。会不会造成多重初始化的问题?
------解决方案--------------------
你最好把C++ Primer关于模板的章节,尤其那个包含编译模式/分离编译模式的章节复习一遍。
模板不受那个规则的约束。
------解决方案--------------------
模板类的声明和定义不能分开,只能放在一个文件里,
静态变量可以放在其他地方,只要在类的声明外面就可以了
------解决方案--------------------
现在只有少数编译器支持将模板类的声明和定义分开~~~~~~~~~~~