stl

· C++
c++ STL에서 가장 많이 쓰이는 컨테이너 중 하나인 std::vector의 복사는 효율적일까?다음 코드를 실행시킨다 했을때using namespace std;class A{public: A() { cout temp1 = vector(10); vector temp2 = temp1;}temp2에 temp1을 복사 할 경우 그림과 같이 요소의 개수 N(위 예제에서는 5)번 만큼의 복사생성자가 호출된다.즉, vector의 복사생성자는 N개의 요소들을 각각 순차적으로 복사하는, O(N)의 시간복잡도를 갖게 된다. 궁금한 점은 vector는 연속된 메모리인데  비효율적으로 왜 모든 요소들을 각각 복사하는걸까? 연속된 메모리 구간을 통채로 복사해서(이를테면, memcpy와 같은) 복사하는게 아니라 각각 복사하는..
멍텅구링
'stl' 태그의 글 목록