C++构造函数上的一点疑惑的解析
来源:互联网 发布:电魂网络合理市值 编辑:程序博客网 时间:2024/05/23 21:58
课上临时想到的
就是类似第41行的赋值语句,会生成一个临时变量(其它代码不用管)
经过实验发现
这个临时变量的生命周期只限于这个语句,语句结束后就会调用析构函数
而且如果写成
- kk::a d=kk::a(b);
则不会看见这个临时变量的生成,估计被编译器给优化掉了
- #include <iostream>
- using namespace std;
- namespace kk
- {
- int count=1;
- class a
- {
- public:
- int counts;
- a();
- ~a();
- a(const a&);
- };
- }
- kk::a::a()
- {
- counts=kk::count;
- cout<<"creat the"<<counts<<"th instance"<<"from creat"<<endl;
- kk::count++;
- }
- kk::a::a(const a& b)
- {
- counts=kk::count;
- cout<<"creat the"<<counts<<"th instance"<<" from copy"<<endl;
- kk::count++;
- }
- kk::a::~a()
- {
- cout<<"delete the"<<counts<<"th instance"<<endl;
- }
- void kkk()
- { kk::a b;
- cout<<b.counts<<endl;
- kk::a c(b);
- cout<<c.counts<<endl;
- kk::a d;
- cout<<d.counts<<endl;
- d=kk::a(b);
- d.counts=3;
- }
- int main()
- {
- kkk();
- char sss;
- cin>>sss;
- }
本文出自 “DarkScope从这里开始(..” 博客,请务必保留此出处http://darkscope.blog.51cto.com/4254649/1005164
- C++构造函数上的一点疑惑的解析
- C语言memcpy函数的一点疑惑
- 复制构造函数的疑惑
- AOP 的一点疑惑
- SDL的一点疑惑
- 构造器的疑惑
- 关于构造函数构造默认对象加括号的疑惑
- urlrewrite的一点小疑惑
- 关于delete的一点疑惑
- 【C++】构造函数&析构函数的解析(应用)
- 【构造函数】解析构造函数的作用
- C++构造函数相关的一点体会
- 一点关于复制构造函数的问题
- C++拷贝构造函数的一点收获
- c# 构造函数的一点见解
- 关于默认构造函数的一点总结
- C++默认构造函数的一点说明
- 函数指针的疑惑
- 大学杂念集 之 关于杂念
- 学习博客 王宪明的android学习之旅
- 机器学习-笔记5
- IDA*(迭代加深的A*算法) 八数码
- 机器学习-笔记6
- C++构造函数上的一点疑惑的解析
- 机器学习-笔记7
- 机器学习-笔记8
- 机器学习-笔记9-总结
- codec engine代码阅读五---CE_DIR/examples/ti/sdo/ce/examles/servers/video_copy
- 总结和规划
- mysql数据类型简介
- codec engine代码阅读六---CE_DIR/examples/ti/sdo/ce/examles/apps/video_copy
- 趣文:通俗解释主要编程语言及其用途