Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- DHCP 설치
- VMware
- dhcp
- 고정 IP주소를 가진 네트워크 어댑터를 검색할 수 없습니다.
- VMWare View Connection Serve
- 수평적 확장
- 멀티테넌시
- 제한된 이식성
- 클라우드 서비스 소유자
- View Connection
- 커뮤니티 클라우드
- 자원 풀링
- 클라우드 보안 취약성
- 정수형 데이터타입
- Error 1720
- 온 프레미스
- 온디맨드식
- 수직적 확장
- 이 컴퓨터는 도메인의 구성원이 아닙니다.
- 클라우드 자원 관리자
- 클라우드 제공자
- Community Cloud
- DHCP 설정
- Virtual Private Cloud
- 도메인 사용자 또는 그룹을 확인할 수 없습니다.
- 클라우드 소비자
- IT 자원
- 가상 프라이빗 클라우드
- 운영관리제어의 축소
- VMWare vSphere
Archives
- Today
- Total
한 걸음씩..
[MFC] DECLARE_DYNCREATE IMPLEMENT_DYNCREATE 본문
반응형
DECLARE_DYNCREATE IMPLEMENT_DYNCREATE
보통 어떤 클래스를 동적으로 생성 시 new연산자를 사용하여 생성하고 delete 연산자로 메모리에서 해제한다
그러나 CObject 를 상속받는 클래스들은 생성자가 protected로 선언되어 있기 때문에 위의 방법으로 생성하고 해제 할 수 없다
생성자가 protected로 선언된 이유는 자기 스스로 파괴되는 객체에 대한 명확한 사용법을 제시하기 위함이다.
자기 스스로 파괴되는 객체의 경우 정적으로 선언하여 사용하면 메모리에서 제거되는 시도를 두 번 하기 때문이다.
스스로 파괴되는 객체의 경우 반드시 동적으로 생성하여야 하고 프로그래머가 정적으로 선언하는 실수를 방지하기 위해 protected 멤버로 선언한다.
생성자를 protected로 선언하면 다른 클래스에서 new 나 delete로 객체를 생성 & 해제할 수 없기 때문에 이러한 생성을 도와주는 클래스가 필요하다.
CRuntimeClass를 사용하여 CMainFrame Class 생성하는 예제는 아래와 같다.
CRuntimeClass *pRuntimeClass = RUNTIME_CLASS(CMyFrameWnd);
CMyFrameWnd *pFrame = (CMyFrameWnd*)pRuntimeClass->CreateObject();
매크로 선언
Runtime Class를 사용하여 Object 생성
반응형
'프로그래밍' 카테고리의 다른 글
[ Windows ] Injection Dll 에서 Process ID 구하기 (0) | 2014.04.22 |
---|---|
ConvertIconToHBitmap / ConvertIconToCBitmap (0) | 2014.03.27 |
[MFC] MessageMap 매크로 함수 풀이 (0) | 2013.10.02 |
[MFC] 윈도우 핸들 정리 (0) | 2013.10.01 |
[Windows] 현재 로그인한 유저 이름 알아오기 (0) | 2013.09.06 |