일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 언리얼
- Effective c++
- 게임
- c++
- virtual function
- 영화 리뷰
- 티스토리챌린지
- 스마트 포인터
- exception
- resource management class
- UE4
- effective stl
- lua
- 오블완
- 예외
- 상속
- operator new
- Smart Pointer
- 다형성
- 함수 객체
- 참조자
- implicit conversion
- 영화
- 암시적 변환
- reference
- 비교 함수 객체
- 메타테이블
- 루아
- more effective c++
- 반복자
- Today
- Total
목록복사 (2)
스토리텔링 개발자
항목 3. 복사(Copy)는 컨테이너 안의 객체에 맞게 비용을 최소화하며, 동작은 정확하게 하자 컨테이너의 요소기본적으로 STL 컨테이너는 삽입, 삭제 시 복사 처리를 한다.컨테이너가 가진 객체는 넣을 당시의 것과 같은 것이 아니다.컨테이너에서 객체를 가져와도, 컨테이너에 있었던 것이 아니다.컨테이너 내부의 객체조차도 늘 같은 것이라 보장할 수 없다.vector 등에 insert를 통해 데이터를 삽입하거나, erase로 지우거나 하는 경우.컨테이너의 객체들은 복사를 통해 밀려나고 밀려온다.(항목 5, 항목 14 참조)정렬 알고리즘이나 그와 비슷한 매커니즘의 함수를 호출하는 경우.next_permutation, previous_permutation, remove, unique / rotate, reve..
항목 14. 자원 관리 클래스의 복사 동작에 대해 진지하게 고찰하자. 커스텀 자원 관리 클래스자원 관리 클래스를 직접 만들 필요성을 느낄 때가 있다.힙에 생기지 않는 자원은 기존 스마트 포인터로 관리하는 데 맞지 않다. 커스텀 자원 관리 클래스의 복사 동작RAII 법칙(생성시 자원 획득, 소멸시 자원 해제)을 따르는 클래스의 복사 동작복사를 금지한다.RAII 객체의 복사 자체가 말이 안되는 경우가 많다.뮤텍스 잠금의 경우 복사될 필요성 자체가 없다.복사되면 안되는 RAII 클래스는 반드시 복사 함수를 막아야 한다.Uncopyable을 사용하여 복사를 막는다.(항목 6 참조)class Lock : private Uncopyable // 항목 6 참고{public:...};관리하고 있는 자원에 대해 ..