Hãy xem xét các chương trình dưới đây:Tại sao hàm tạo chỉ được gọi một lần?
class A
{
public:
A(int i)
{
cout<<"Called"<<endl;
}
};
int main()
{
vector<A> v(5,A(1));
return 0;
}
Tôi nhận được kết quả: http://ideone.com/81XO6
Called
Tại sao các nhà xây dựng được gọi duy nhất một lần ngay cả khi chúng ta đang xây dựng 5 đối tượng?
Làm thế nào vector
được xử lý nội bộ bởi trình biên dịch?
Các thiết bị khác được khởi tạo bởi trình tạo bản sao. – jxh
http://ideone.com/lHX5W –
@Benjamin Lindley: bạn nên viết điều đó trong câu trả lời – nico