동일한 벡터에서 요소를 푸시하는 요소 : 안전 조치
vector v;
v.push_back(1);
v.push_back(v[0]);
vector v;
v.push_back(1);
v.push_back(v[0]);
, 기존 벡터 요소에 대한 참조를 무효화 할 수 있습니다. 이 문제는 다음 예에서 발생합니다.
vector
두 번째 push_back이 재 할당을 트리거하면 v [0]에 대한 참조가 무효가됩니다. 이를 해결하기 위해 다음과 같은 접근법이 사용될 수 있습니다.
v.push_back (1);
v.reserve (v.size () 1);
v.push_back (v [0]);
C 표준에 따라 동작의 동작 요소 참조와 관련하여 푸시 _back은 잠재적으로 유효하지 않은 참조로 이어질 수 있지만 결함으로 명시 적으로 정의되지 않습니다. 삽입이 다른 요소의 위치를 변경하더라도 표준이 벡터 :: 인서트가 올바르게 작동하도록 요구하기 때문입니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3