vector装入自定义类多个对象的时候复制构造函数参数必须有const修饰
2016-03-10 11:26
453 查看
#include<iostream> #include<vector> using namespace std; class A{ private: int value; public: A(){ cout << " constructor " << endl; } A(int n){ value=n; cout << "constructor " << endl; } A(const A &other){//必须是const的,否则下面vector要报错 value = other.value; cout << "copy " << endl; } /* A(A o){ value = o.value; } */ void print(){ cout << value << endl; } }; void print(A a){ a.print(); } int main(){ /*A a(10); A b = a; A c(b); b.print(); print(b); */ vector<A> v(10); return 0; }
经过验证,vector只初始化第一个A,之后的都是复制构造的。
$ ./a constructor copy copy copy copy copy copy copy copy copy copy
相关文章推荐
- android开发之下载文本、音乐文件
- AS数倍提高工作效率的快捷键
- Android高效编程的一些知识
- 报表需求的确认之自我剖析
- Android应用的persistent属性
- C++ explicit的作用
- Unity: Unity3D 模拟鼠标单击/双击
- tcp四次挥手 close_wait内幕
- MySQL进程常见的State【转】
- jboss服务器外网访问
- 大数据训练营笔记。
- 深度优先搜索初尝试-DFS-LakeCounting POJ No.2386
- 多个USB短信猫,启动短信猫后台程序总是有几个不能连接
- 3727: PA2014 Final Zadanie|树形DP
- 关于Bootstrap弹出框无法调用问题的解决办法
- 卓有成效的开发者
- 开发错误记录3 Error:failed to find Build Tools revision 23.0.2 rc2
- Android开源库之沉浸式通知栏的简单实现(SystemBarTintManager)
- 第1次上机实验
- 使用IntelliJ IDEA 14和Maven创建java web项目