考虑下面的程序:为什么构造函数只被调用一次?
class A
{
public:
A(int i)
{
cout<<"Called"<<endl;
}
};
int main()
{
vector<A> v(5,A(1));
return 0;
}
我得到的输出:http://ideone.com/81XO6
Called
为什么构造函数被调用一次,即使我们正在建设5个对象?
vector
如何在编译器内部处理?
其他的由复制构造函数初始化。 – jxh 2012-07-22 06:31:25
http://ideone.com/lHX5W – 2012-07-22 06:32:04
@Benjamin Lindley:你应该在回答中写下 – nico 2012-07-22 06:33:07