关于vector容器类的复制构造函数
C++ primer 第四版 P408 习题13.2 原题如下:
下面第一个初始化正确,第二个初始化不能编译。
vector<int> v1(42); //ok
vector<int> v2 = 42; //error
请问你能得出什么结论。
书本的答案是:vector类没有提供公有的复制构造函数。
但我觉得好像有点问题;因为 vector v3(v1); 可以编译,这不就说明提供了公有复制构造函数了吗,我个人觉得
应该是vector类接受单个int型形参的构造函数声明为explicit了。
由于,本人初学C++ ,不敢妄下结论。望高人指点。
为谢!