일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- lua
- 영화 리뷰
- resource management class
- 메타테이블
- 티스토리챌린지
- exception
- Smart Pointer
- 영화
- reference
- more effective c++
- 비교 함수 객체
- 참조자
- virtual function
- effective stl
- 다형성
- implicit conversion
- UE4
- c++
- 스마트 포인터
- 언리얼
- Effective c++
- Vector
- 예외
- 게임
- 반복자
- 상속
- 루아
- 오블완
- 암시적 변환
- operator new
- Today
- Total
목록copy (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:...};관리하고 있는 자원에 대해 ..