Lv 0. 짝수는 싫어요 || vector에서 emplace_back()과 push_back()의 차이점

https://school.programmers.co.kr/learn/courses/30/lessons/120813

 

#include <string>
#include <vector>

using namespace std;

vector<int> solution(int n) {
    vector<int> answer;
    for(int i=1; i<=n; i++){
        if(i%2!=0) answer.push_back(i);
    }
    return answer;
}

 

나는 push_back()을 사용하였는데, 다른사람의 풀이를 볼때 emplace_back()을 사용한 풀이를 보게되어서 과연 그 둘의 차이가 무엇인지에 대해서 궁금해서 검색해보았다. 아래와 같은 답을 얻을 수 있었다. 

복사가 필요하지 않은 부분에 대해서는 emplace_back() 을 사용하면 좋을것 같다. 

 

 

  Comments,     Trackbacks