일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 stl
- 게임
- 참조자
- 상속
- 루아
- 암시적 변환
- 다형성
- operator new
- Vector
- lua
- 예외
- 언리얼
- Smart Pointer
- 비교 함수 객체
- resource management class
- 영화 리뷰
- 반복자
- virtual function
- 스마트 포인터
- reference
- c++
- more effective c++
- implicit conversion
- 메타테이블
- exception
- Effective c++
- 티스토리챌린지
- 오블완
- 영화
- UE4
- Today
- Total
목록커스텀 할당자 (2)
스토리텔링 개발자
항목 11. 커스텀 할당자를 제대로 사용하는 방법을 이해하자 커스텀 할당자를 쓰고 싶어지는 경우벤치마킹, 프로파일링, 각종 실험을 통해 디폴트 STL 메모리 관리자(allocator)가 별로라는 결론에 이르렀을 때낮은 메모리 효율, 심각한 단편화(fragmentation) 등allocator가 쓰레드 안전성을 염두에 둔 것이 마음에 들지 않을 때단일 쓰레드 환경에서만 사용할텐데, 동기화 때문에 걸리는 필요 없는 오버헤드를 피하고 싶다.컨테이너에 들어 있는 객체들이 하나의 힙 안에서 관리되는 점 때문에 문제를 느낄 때같은 종류의 객체를 특정한 힙에 모여있게 하여 메모리 참조 위치의 근접성(locality of reference)를 극대화하는 효과를 얻기 부족하다.공유 메모리에 해당하는 특수한 힙을 만들..
항목 10. 할당자(allocator)의 일반적인 사항과 제약 사항에 대해 잘 알아두자 할당자의 기원16비트 운영체제(DOS) 시절, 라이브러리 제작자들이 near, far 포인터 구분에 힘을 덜 쓸 수 있도록메모리 모델의 추상층으로 개발된 것이다.그처럼 STL 할당자 역시 객체 메모리 관리를 편하게 하기 위해 설계되었다. STL 할당자의 문제몇몇 부분에서 효율성 저하가 판명되었다.사실상 operator new, operator new[]와 동일한 기능이지만, 인터페이스는 전혀 비슷하지 않다.심지어 malloc과도 비슷하지 않다. 할당자의 제약 사항 1. pointer / reference 타입할당자는 자신에게 정의된 메모리 모델의 포인터와 참조자에 대한 typedef 타입을 제공한다.(모던에..