ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C++ 구조체 멤버를 숨기는 기법 Pimpl
    프로그래밍/c++ 2013. 3. 28. 09:42
    반응형
      1 // 헤더 파일 //
      2
      3
    class Pimpl
      4
    {
      5
    public:
      6     
    Pimpl(void);
      7     
    ~Pimpl(void);
      8
      9
    protected:
     10     
    struct Pim;  // 맴버변수의 구조체 전방선언
     11     
    Pim* pimpl;  // 전방선언한 멤버의 포인터
     12
    };
     13
     14
    // CPP 파일 //
     15
    #include <Pimpl.h>
     16
     17
    struct Pim // 구조체 이름은 전방선언과 같은 이름으로!
     18
    {
     19    
    int a;
     20    
    int b;
     21    
    int c;
     22           
    //...멤버변수들 선언
     23
    }
     24
     25
    Pimpl::Pimpl( void )
     26
    {
     27     
    pimpl = new Pim; // 생성자에서 멤버 변수에 할당을 함
     28
    }
     29
     30
    ...
     31
     32
    ~Pimpl::Pimpl( void )
     33
    {
     34     
    delete pimple; // 소멸자에서 해제
     35
    }
     36
    반응형

    '프로그래밍 > c++' 카테고리의 다른 글

    [C++]std::addressof의 존재 이유  (2) 2014.06.29
    알아볼 c++11 문법  (0) 2014.05.16
    C++11: decltype  (0) 2014.05.16
    구글 C++ 스타일 가이드 - 이름 짓기  (0) 2014.05.02
    [c++11] std::mutex  (0) 2014.04.27
Designed by Tistory.