首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

vector<Foo> empty(十) 为啥只进入一次构造函数

2013-11-29 
vectorFoo empty(10) 为啥只进入一次构造函数? #include iostream#include vectorusing namespace s

vector<Foo> empty(10) 为啥只进入一次构造函数?
 

#include <iostream>
#include <vector>
using namespace std;

class Foo
{
public:
Foo()
{cout << "in foo\n";}
Foo(int i)
{cout << "in foo 2\n";}


};

int main()
{
vector<Foo> empty(10);
vector<Foo> Fv(10,1);
return 0;
}


$ ./1
in foo
in foo 2


我感觉应该构造10次才对的啊
[解决办法]
因为
vector<Foo> empty(10);
的含义是生成10个相同的元素,所以是调用了一次构造,然后把这个对象拷贝了10份放到vector里。

热点排行