C++之template之类相关
template之类相关
虚函数模板
在我们使用模板从来都没有将虚函数与模板进行套用, 那么这两者能不能同时连用呢?
这个直接来写代码验证才知道.
1 | class point { |
分别用了g++和clang编译
1 | // g++ |
可以看出来clang更加准确的指出了virtual不能是member function templates.
为什么虚函数不能是模板函数?
- 编译器在编译类的定义的时候就必须确定该类的虚表大小.
- 模板只有在运行调用时才能确认其大小, 两者冲突. 结果显而易见.
模板拷贝构造函数
模板与不同模板之间不能直接的赋值(强制转换), 毕竟模板一般都是类和函数都不是普通的类型. 但是类有拷贝构造函数, 所以我们可以对类的构造函数进行修改, 也就成了模板构造函数.
模板拷贝构造函数与一般的拷贝构造函数没有什么区别, 仅仅实在加了一个模板作为返回值类型
1 | template <class T> class tmp { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ansore!



