«push-back» 태그된 질문


2
이미 구성된 객체에 대한 std :: move 대 emplace_back ()을 사용한 C ++ 11 push_back ()의 ​​효율성
C ++ 11 emplace_back()에서는 일반적으로 push_back()내부 생성을 허용하므로 효율성 측면에서 선호 되지만 push_back(std::move())이미 생성 된 객체와 함께 사용하는 경우에도 마찬가지 입니까? 예를 들어, emplace_back()다음과 같은 경우에 여전히 선호됩니까? std::string mystring("hello world"); std::vector<std::string> myvector; myvector.emplace_back(mystring); myvector.push_back(std::move(mystring)); // (of course assuming we don't care about using the value of mystring after) 또한 …

2
std :: vector에 추가 할 때 클래스 필드의 이상한 동작
다음 상황에서 매우 이상한 동작 (clang 및 GCC에서)이 발견되었습니다. nodes하나의 요소가있는 class의 인스턴스 가있는 벡터가 있습니다 Node. 그런 다음 벡터에 nodes[0]새로운 것을 추가 하는 함수를 호출합니다 Node. 새 노드가 추가되면 호출 객체의 필드가 재설정됩니다! 그러나 일단 기능이 완료되면 다시 정상으로 돌아 오는 것 같습니다. 나는 이것이 최소한의 재현 가능한 예라고 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.