Emplace 썸네일형 리스트형 C++11 이동생성자 (Move Constructor) Rvalue Reference가 추가되면서 같이 추가된 이동생성자에 대한 설명이다. 이동생성자를 사용하는 궁극적인 목적은 바로 성능향상인데, 아래의 예제를 통해 설명함. #include #include #include using namespace std; struct Person{string name;int year; Person(string p_name, int p_year): name(move(p_name)), year(p_year){cout 더보기 C++11 Emplace- SCOTT MEYERS 강의 후기 C++11 emplace 함수는 기존의 함수와는 또 다른 방식이다. 예를 들어 vector에 원소를 삽입할때 다음과 같이 할 수 있다. vs.push_back("XYXY"); vs.emplace("XYXY"); 작동은 동일하다. 하지만 내부적으로는 차이가 있는데 전자의 경우, 문자열 임시변수가 만들어지고 복사 그리고 임시변수 파괴의 과정을 거친다. 하지만 후자의 경우 벡터 컨테이너 안에서 직접 생성한다. std::vector::insert copies or moves the elements in to the container by calling copy constructor or move constructor. while, In std::vector::emplace elements are construc.. 더보기 이전 1 다음