1. push_back
std::vector의 멤버 함수인 push_back은 vector의 끝에 요소를 추가할때 사용한다.
종류는 Move Semantics(R-Value)개념이 추가되서 총 2개이다.
void push_back(const T& value); // C++ 03 ~
- 값 복사를 통해 요소를 추가
void push_back (T&& value); // C++ 11 ~
- (임시) 객체의 복사가 아닌 이동을 통해 요소를 추가
C++ 11에서 추가된 push_back이 불필요한 오버헤드를 줄였다.
2. emplace_back
push_back과 마찬가지로 std::vector의 멤버함수로 기능인 vector의 요소 끝에 원소를 추가하는 함수이다.
template< class... Args>
void emplace_back(Args&&... args);
push_back과의 차이점
-push_back과는 다르게 삽입할 객체의 생성자를 위한 인자들을 받아 std::vector 내에서 직접 객체를 생성하여,
삽입하므로 임시 객체의 (생성, 파괴, 복사, 이동)을 하지 않아도 되어 성능상 더 유리하다.
'Programming > C, C++' 카테고리의 다른 글
03. C++ Manipulator Output Formatting (0) | 2019.11.25 |
---|---|
02. C++ namespace (0) | 2019.10.28 |
01. C/C++ Input, Output 입출력 (0) | 2019.10.28 |