C++中模板为什么不支持分离编译
来源:互联网 发布:发票查询真伪软件 编辑:程序博客网 时间:2024/05/29 04:33
程序运行的过程
首先我们知道, 一个程序的执行过程分为四个部分,预处理,编译,汇编,链接
下面用一副图来说明
模板的分离编译
这里就是普通的代码,是可以进行分离编译的,但是为什么在模板中就不可以了呢,下面我们来看一段简单的代码,来进行分析
//template.htemplate<class T>class AA{public: AA();private: T _a;};//test.cpp#include "template.h"template<class T>AA<T>::AA():_a(0){}//main.cpp#include "template.h"int main(){ AA <int> a1; return 0;}
运行结果如下图
为什么会这样呢?这要说一下模板的特点,定义一个模板类,里面的函数只有当调用的时候才会被推演,不调用就不会进行这个推演的过程,也就是说,即使你函数里写的有问题,你编译的时候并没有调用那个函数,编译器是检查不出来的。
所以在使用模板的时候最好不要分离编译
阅读全文
0 0
- 【C++】为什么模板不支持分离编译
- 【c++】模板为什么不支持分离编译
- c++:为什么模板不支持分离编译?
- C++ 中为什么模板不支持分离编译?
- C++中模板为什么不支持分离编译
- C++中模板为什么不支持分离编译
- c++中为什么不支持模板分离编译
- 为什么模板不支持分离编译?
- 为什么模板不支持分离编译?
- 为什么模板不支持分离编译
- 为什么模板不支持分离编译
- 为什么模板不支持分离编译
- 为什么模板不支持分离编译?
- 为什么模板不支持分离编译
- 为什么模板不支持分离编译
- 为什么模板不支持分离编译?
- 模板为什么不支持分离编译
- 为什么模板不支持分离编译
- 常见排序算法对比二(C++实现)
- 7月分布式项目遇到的错误及解决办法
- windows server 2003怎样开机不按Ctrl+Alt+Del进入系统
- c/c++ const的详解
- 微信扫码支付(模式一)遇到的那些坑
- C++中模板为什么不支持分离编译
- 度度熊的王国战略(最小割)
- JavaScript Boolean(逻辑)对象
- Jsp知识点之一
- spring boot中用RabbitMQ调用接口
- 那些年支付宝微信银联支付遇到的坑
- 《C++大数据运算(+、-、*、/)》
- redis之集群
- 微信|支付宝|银联支付(电脑和手机端区别)