push_back , emplace_back
둘의 공통점
push_back , emplace_back은
두 함수 모두 vector컨테이너가 주어졌을 때 한 칸을 늘리고 해당 값을 넣어주게 된다.
둘의 차이점
그러나 내부적으로 동작하는 것은 조금 다른데,
push_back의 경우
push_back의 경우 메모리를 이동하거나 임시 객체를 이용하여
임시객체가 생성되고 넣어준 뒤에 임시 객체가 삭제되는 호출이 있다.
-> 복사의 개념
emplace_back의 경우
대신 emplace_back은 받은 인수를 이용해 내부에서 생성자를 통한 객체 생성 후
추가를 하기 때문에 임시 객체의 생성, 파괴가 없어서 push_back보다 효율적일 수 있다.
-> 이동의 개념
'프로그래밍 언어 > C++ STL' 카테고리의 다른 글
프로그램 인터페이스 예시 STD::vector (0) | 2024.12.10 |
---|---|
STL Map (0) | 2024.12.02 |
STL 여섯 가지 주요 컴포넌트 - 컨테이너 - 시퀀스 컨테이너 (3) | 2024.10.12 |
C++ STL Set (0) | 2024.08.17 |