Chức năng thành viên này, không có hiệu lực được xác định trong tiêu chuẩn (chỉ nhận xét), sẽ bị hạn chế sử dụng nếu không được phép tái phân bổ. Nhưng đoạn duy nhất tôi tìm thấy trong tiêu chuẩn dường như áp dụng sẽ là 23.2.1/11:Là véc tơ :: shrink_to_fit có được phép tái phân bổ không?
"Trừ khi có quy định khác hoặc bằng cách xác định chức năng về các chức năng khác), hãy gọi thành viên chứa hoặc chuyển một vùng chứa làm đối số cho hàm thư viện sẽ không làm mất hiệu lực các trình vòng lặp tới hoặc thay đổi giá trị của các đối tượng trong vùng chứa đó. "
Vì reallocations invalid iterators, điều này có nghĩa là shrink_to_fit không thể chính thức tái phân bổ? Nếu vậy, chức năng chỉ có thể có hiệu lực đối với việc triển khai, nơi chức năng giảm không phân bổ lại, nếu có ...
yêu cầu cho T là MoveInsertable ở đâu? – soulie
23.3.6.3 [vector.capacity] đoạn 7 trong bài báo hiện tại, nó được thêm vào sau C++ 11 bởi [LWG 2033] (http://cplusplus.github.com/LWG/lwg-defects.html# 2033). N.B. thuật ngữ là "' MoveInsertable' thành _X_ ", không có nghĩa gì khi nói một kiểu chỉ là' MoveInsertable' bạn phải nói những gì bạn đang chèn nó _into_ –
Chắc chắn những bổ sung đó làm rõ rất nhiều tác dụng dự định của hàm . – soulie