Để gán bài, tôi phải tạo lại thư viện C++ Vector và hiện tại tôi đang mắc kẹt về cách trả về kích thước tối đa.Thư viện C++ Vector, Tạo lại bài tập, chức năng kích thước tối đa
Theo trang web này: http://www.cplusplus.com/reference/stl/vector/ size_type max_size() const; Trả lại kích thước tối đa
Trả về số lượng tối đa các phần tử mà vùng chứa vector có thể giữ.
Hiện tại chức năng của tôi dựa trên thao tác mảng và thư viện vector không dựa trên lớp mẫu, thư viện vector sử dụng kiểu dữ liệu int và size_t. (Tôi không chắc chắn liệu điều này có bất kỳ mang về nó)
đang liên quan:
class vector{
private:
int *vect;
size_t length;
size_t cap;
public:
//=====================Constructor================
vector(){
length = 0;
cap = 20;
vect = new int[20];
}
//INCOMPLETE
size_t max_size() const{
//return???!?!?!?!?
}
}
Câu hỏi của bạn là gì? Bạn phải theo dõi số lượng phần tử trong mảng của mình. Mà tôi giả định là 'length'. – birryree
Không, theo trang web tham khảo C++, nó nói: Đây không phải là dung lượng lưu trữ hiện được phân bổ cho vectơ (điều này có thể thu được với dung lượng vector thành viên), nhưng kích thước tối đa mà vectơ có thể đạt được do hệ thống hoặc giới hạn triển khai thư viện. –
Chỉ cần tìm ra hằng số rằng max_size của vectơ stl() trả về và đặt nó vào hàm của bạn? 'size_t max_size() const {return some_huge_number_here; } ' –