này có vẻ đơn giản nhưng tôi bối rối: Con đường tôi tạo ra một vector của trăm, nói, int
s lànào constructor của std :: vector được sử dụng trong trường hợp này
std::vector<int> *pVect = new std::vector<int>(100);
Tuy nhiên, nhìn vào std: : vector documentation Tôi thấy rằng hàm tạo của nó có dạng là
explicit vector (size_type n, const T& value= T(), const Allocator& = Allocator());
Vì vậy, cách trước đó hoạt động? Có phải new
gọi hàm tạo với giá trị khởi tạo thu được từ hàm tạo mặc định không? Nếu trường hợp đó xảy ra, thì
std::vector<int, my_allocator> *pVect = new std::vector<int>(100, my_allocator);
nơi tôi vượt qua người cấp phát của riêng mình, cũng hoạt động?
Ngoài ra, nó sẽ là tuyệt vời nếu bạn có thể đề xuất một nguồn tài nguyên trực tuyến bao gồm các khía cạnh của 'new' và ctors. Cảm ơn. – recipriversexclusion
Xin lỗi, tôi không thể nhận được những gì 'mới' đã làm với câu hỏi của bạn. – AraK
Về cơ bản, những gì tôi đang tự hỏi là: không 'mới' chỉ gọi ctor? Nhưng trong trường hợp này, không có ctor ở dạng đó. – recipriversexclusion