Ta funkcja członka, która nie ma zdefiniowanego efektu w standardzie (tylko uwagi), miałaby ograniczone zastosowanie, jeśli nie wolno jej ponownie przydzielić. Ale tylko ustęp znalazłem w standardzie, który wydaje się mieć zastosowanie byłoby 23.2.1/11:Czy wektor :: shrink_to_fit może być ponownie przydzielony?
„O ile nie określono inaczej (bezpośrednio lub poprzez zdefiniowanie funkcji w kategoriach innych funkcji), powołując się na członka kontenera funkcja lub przekazanie kontenera jako argumentu funkcji biblioteki nie unieważnia iteratorów ani nie zmienia wartości obiektów w tym kontenerze. "
Ponieważ ponowne przydziały unieważniają iteratory, czy oznacza to, że shrink_to_fit nie może oficjalnie zmienić przydziału? Jeśli tak, funkcja może mieć wpływ tylko na implementacje, w których zmniejszenie zdolności nie powoduje ponownego przydzielenia, jeśli jakiekolwiek ...
gdzie jest wymóg, aby T było przenoszone? – soulie
23.3.6.3 [wektor.capacity] pkt 7 w bieżącym dokumencie roboczym, został dodany po C++ 11 przez [LWG 2033] (http://cplusplus.github.com/LWG/lwg-defects.html# 2033). N.B. termin "MoveInsertable" na _X_ ", nie ma sensu mówić, że typ jest po prostu" MoveDabloczył ", musisz powiedzieć, co wstawiasz _into_ –
Oczywiście te dodatki wyjaśniają w dużym stopniu zamierzony efekt działania . – soulie