{

Pimpl ( 핌플 )은 무엇인가?

컴파일 방화벽이다.


컴파일 방화벽은 무엇이고 무엇을 위한 것인가?

방화벽은 벽이고, 이 벽은 컴파일러의 시야를 가려주기 위한 것이다.


컴파일러의 시야는 무엇인가?

정의부를 보는 시야이다.


정의부를 보는 시야는 무엇을 보는가?

각 함수의 구현내용, 변수의 사이즈, 클래스의 총 사이즈 등을 본다.


음, 잘 이해가 안간다. 그래서 어쩔 수 있는 건가?

1. 헤더 파일간의 의존성을 엄청나게 줄여 줄 수 있다.
2. 라이브러리의 인터페이스에 영향을 미치지 않고, 변수의 추가 삭제가 용이하다.
3. 좀 더 강력하게 더블 private을 이용 할 수 있다. (private 속의 private)


어떻게 사용 하는가?

.. 링크 참조 그 동안 정리한 것도 있고, 인터넷에도 많고~


관련링크

http://www.ikpil.com/675
http://www.ikpil.com/676
http://www.ikpil.com/677
http://www.ikpil.com/678
http://www.ikpil.com/679

}

'책 정리 > C++ Coding Standards : C++ 코딩의 정석' 카테고리의 다른 글

항목 48 : 컨스트럭터 내에서 할당 대신 초기화를 사용 하라. ( Prefer initialization to assignment in constructors. )  (0) 2009.04.01
항목 47 : 멤버 변수의 정의와 선언은 같은 순서로 하라. ( Define and initialize member variables in the same order. )  (0) 2009.04.01
항목 46 : 특정한 클래스에 맞는 new를 제공한다면, 모든 표준 형식을 제공해야 한다. ( If you provide any class-specific new, provide all of the standard forms (plain, in-place, and nothrow). )  (0) 2009.04.01
항목 45 : new와 delete는 항상 같이 제공하라. ( Always provide new and delete together. )  (0) 2009.04.01
항목 44 : 비멤버 함수를 활용하라. ( Prefer writing nonmember nonfriend functions. )  (0) 2009.03.31
항목 43 : Pimpl을 적당히 활용하라. ( Pimpl judiciously. )  (0) 2009.03.31
항목 42 : 내부의 것은 너무 노출시키지 말라. ( Don’t give away your internals. )  (0) 2009.03.31
항목 41 : 특징 없는 값의 집합을 제외하고는 모든 데이터 멤버를 사영으로 하라. Make data members private, except in behaviorless aggregates (C-style structs).  (0) 2009.03.31
항목 40 : 간접 변환을 피하라. ( Avoid providing implicit conversions. )  (1) 2009.03.30
항목 39 : 가상 함수는 비공용으로, 공용 함수는 비가상으로 설정하라. ( Consider making virtual functions nonpublic, and public functions nonvirtual. )  (0) 2009.03.30
항목 38 : 안전한 오버라이딩을 연습하라. ( Practice safe overriding. )  (0) 2009.03.02
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기

댓글을 달아 주세요

">