일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 참조자
- Vector
- 오블완
- 암시적 변환
- 예외
- 게임
- virtual function
- implicit conversion
- operator new
- 스마트 포인터
- 반복자
- 다형성
- 비교 함수 객체
- c++
- resource management class
- 티스토리챌린지
- Smart Pointer
- 메타테이블
- lua
- effective stl
- 루아
- exception
- 영화 리뷰
- UE4
- 언리얼
- 영화
- reference
- 상속
- Effective c++
- more effective c++
- Today
- Total
목록RAII (2)
스토리텔링 개발자
항목 9 : 리소스 누수를 피하는 방법의 정공은 소멸자이다. 지역 리소스에 대한 포인터지역 리소스(스택에서 생긴 리소스)를 조작할 때, 포인터는 부적절할 수 있다.소멸자가 불리지 않는 상황이 발생할 수 있기 때문이다.즉, 리소스 누수가 발생할 수 있다는 뜻이다.class ALA{public: virtual void processAdoption() = 0; ...};class Puppy : public ALA{public: virtual void processAdoption(); ...};class Kitten : public ALA{public: virtual void processAdoption(); ...};// s로부터 동물 정보를 읽어서// 적절한 타입의 객체를..
항목 13 : 자원 관리에는 객체가 그만! new / delete 문의 짝을 맞추지 못하게 되는 상황class Investment { ... };Investment* createInvestment();void f(){ Investment* pInv = createInvestment(); ... // pInv 사용부. // 하지만 이 도중에 아래로 가지 않고 리턴해버릴 여지가 있다!! delete pInv; // 반드시 불러줘야 객체가 해제된다.}객체 삭제는 실패할 수 있는 경우가 다양하다.삭제 전에 return문이 들어있는 경우삭제 전 continue 혹은 goto로 루프를 갑작스래 빠져나왔을 경우사용 중에 예외가 발생할 경우 스마트 포인터void f(){ ..