STL (2) 썸네일형 리스트형 Move Semantic Move Semantics (이동 문법) 이동 생성자와 이동 할당 연산자를 구현한 클래스를 move semantic 을 갖고 있다고 한다. 변수(이름으로 참조 할 수 있는 데이터)는 깊은 복사를 하고, 임시값(이름으로 참조 할 수 없는 데이터)이 데이터를 전송한다는 컨셉 객체에 대한 메모리 소유권을 이동시키면서 댕글링 포인터, 메모리 릭을 방지 ( (해제된 메모리를 가리키고 있는 것을 댕글링 포인터라고 한다.) 불필요한 복사를 줄일 수 있다. 벡터 같은 컨테이너에 원소 복사시 유용하게 쓰인다. 객체를 컨테이너에 가져 올 때, 객체 복제가 아닌 이동시킬 수 있다. 임시 객체를 리턴할 때도, 일반 복제 대입 연산 대신에 이동 연산을 이용한다.. lvalue , rvalue lvalue : 주소값을 취할 수 .. vector [c++14 STL 철저입문] 참고 vector 컨테이너 순차열 컨테이너. 길이가 가변적임 순차열의 끝에서만 원소를 추가하거나 삭제 할 수 있음 vector 에 할당된 용량(capcaity) 를 초과하는 즉시 더 많은 원소를 저장할 수 있는 추가공간이 자동 할당됨 -> 크기가 커질때 발생하는 오버헤드나 중간에 원소를 삽입 or 삭제하는 오버헤드를 잘 알고 사용한다면 눈에 띄게 느려지는 일은 없음 capacity : 메모리를 추가 할당하지 않아도 저장할 수 있는 원소들의 개수. 실제 원소의 개수를 말하는게 아님 vector values{1,12,3,5}; values.reserve(7); //용량을 7로 늘린다. vector 함수 멤버 reserve() vector 가 수용할 수 있는 메모리를 할당 res.. 이전 1 다음