기존 요소를 덮어 쓰지 않고 벡터의 가운데 (또는 다른 위치)에 요소를 삽입 할 수 있기를 원합니다.std :: vector 중간에 요소를 삽입하는 가장 쉬운 방법은 무엇입니까
내 벡터에 3 6 9 10이 있다고 말하고 6시 직후에 7을 삽입하고 싶습니다. 문제를 일으키지 않고 어떻게 처리해야합니까? 매우 드물게 작동하므로 효율성은 여기에서 문제가되지 않습니다. 또한이 시점에서 중간에 삽입에 좋은 다른 컨테이너 (예 : std :: list)로 전환 할 수 없습니다.
std::insert
은 내가 원하는 것을 수행합니까? 방법?
감사합니다.
위치의 뒤에 모든 요소를 덮어 쓰지 않고 벡터의 "가운데"에 요소를 삽입 할 수 없습니다 새로운 요소를위한 공간을 남겨두기 위해 벡터의 끝에서 움직일 것입니다. 요소 n은 n + 1에 복사되고, 요소 n-1은 n 등에 복사되어 기존 요소를 덮어 씁니다. –
물론 벡터에 대한 기존 반복자와 포인터가 무효화된다는 것을 의미합니다 (당연히 일반 old_push_back() 이후 일 수 있음). – ceo