Khi tôi tạo ra một mảng của một lớp người dùng định nghĩa như thế này, nó sẽ mặc định-xây dựng mỗi phần tử:Làm thế nào để tôi gọi nó là hàm tạo đúng?
S s[5]; // calls default constructor five times, one for each S object
Nhưng nếu lớp học của tôi không được mặc định-construable? Làm thế nào tôi có thể nhanh chóng và sau đó sử dụng mảng này?
Ví dụ, lớp học của tôi S
có thể không mặc định-construable, nhưng nó không có một nhà xây dựng như thế này:
S(int, int);
Làm thế nào để làm cho nó gọi constructor này thay vì một mặc định?
Sử dụng một container thay vì một mảng. – chris
Sử dụng một vùng chứa _and_ xây dựng từ các trình vòng lặp hoặc một vòng lặp 'emplace_back', hoặc đơn giản là xây dựng chúng một lần. –
Hoặc cung cấp cho lớp một constructor mặc định, trừ khi bạn có một lý do * thực sự tốt * không làm như vậy. – cdhowie