코가손의 블로그
Vector의 push_back vs emplace_back 차이점 본문
push_back
- 객채 삽입을 위해 임시 객체를 하나 생성한다음 그 객체를 복사하여 벡터에 삽입
- 삽입이 끝나면 임시 객체 파괴
잠깐 쓰고 버릴 메모리를 굳이 할당하여 불필요한 연산이 생긴다
emplace_back
- 가변인자 템플릿을 사용해서 삽입하려는 객체 자체를 생성할 수 있음
임시 객체를 만들 필요가 없다
누가 더 좋나? 상황에 따라 다르다
vector<vector<int>> vector;
vector.push_back({1, 0});
vector.emplace_back({1, 0}); // 불가능
'CS 및 기본기' 카테고리의 다른 글
Vector vs List 차이와 캐시적중률 (0) | 2023.01.16 |
---|---|
메모리 영역, 스택 프레임 (0) | 2021.11.09 |
레지스터 (0) | 2021.11.09 |
컴퓨터 구조 (0) | 2021.11.09 |
엔디안(Endianness) (0) | 2021.11.09 |
Comments