전체 글142 Effective C++ chapter 4 Effective c++ 정리 chapter 4 from 연우 김 2015. 4. 23. Effective C++ chapter 3 Effective C++ 정리 chapter 3 from 연우 김 2015. 4. 23. Modern Effecitve C++ item 22 : Pimple Idiom Pimpl IdiomPimpl(Pointer to Implementation) Idiom이란 include가 필요한 유저 define 타입의 멤버변수들을 해당 멤버변수들을 포함한 구조체의 포인터로 대체하는 방법이다. 말로 쓰면 어려워 보이니 실제 C++ 98에서 자주 사용하던 예시를 들어서 설명하도록 하겠다.//in header Widget.h #include #include #include class Widget{ public: Widget(); ... private: std::string name; std::vector data; Gadget g1, g2, g3; }Pimpl Idiom을 사용하지 않는다면, 자주 보는 형태의 헤더파일일 것이다. 이런 형식의 헤더파일의 문제점은 헤더파일 내에서 다른 헤.. 2015. 4. 21. Pooling 메모리 풀메모리 풀을 쓰는 이유메모리 Pool은 메모리 할당/해제/최적화 작업등을 유저가 직접 다룰 수 있도록 만든 객체이다. OS에게 메모리 할당/해제을 요청하면 시스템 콜이 발생한다. 빈번한 메모리 요청이 발생할 때, 하나하나 OS에게 작업을 맞긴다면 지나치게 많은 비용이 발생할수도 있다. 그리고 LFH파트에서 본것처럼 시스템이 유저에게 메모리를 할당할때, 데이터 뿐만 아니라 기타 관리 정보까지 포함해서 메모리를 할당하기 때문에, 작은 메모리를 자주 요청하는 경우 필요 이상의 메모리를 사용하게 된다. 그리고 LFH같은 훌륭한 관리체계가 없는 OS의 경우 빈번한 할당/해제는 파편화 문제를 발생시킬 것이다.메모리 풀은 이런 문제들을 해결할 수 있는 좋은 방법이다. 미리 유저가 큰 메모리를 할당 받은뒤에 .. 2015. 4. 17. 이전 1 ··· 25 26 27 28 29 30 31 ··· 36 다음