어떤 경우이냐면?
1. 클래스의 멤버 모든 객체를 초기화를 하려 할때 memset(this, 0, sizeof(this); 를 이용할 경우
왜냐하면
1. 가상테이블이나, 0으로 초기화 되면 안되는 것들이 0으로 초기화 되기 때문에, 이런 객체 사용시 신비스러운 동작을 한다.
주의점
1. 정확하게 해당 클래스의 데이터영역과 0으로 채워져야 할 부분을 제외하고 한다면 문제는 없지만, 조금 편해지려고 찾기 힘든 벌레를 키울수 있는 점은 이해해 두고 있어야 한다.
관련 링크
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tutorial&no=97
1. 클래스의 멤버 모든 객체를 초기화를 하려 할때 memset(this, 0, sizeof(this); 를 이용할 경우
왜냐하면
1. 가상테이블이나, 0으로 초기화 되면 안되는 것들이 0으로 초기화 되기 때문에, 이런 객체 사용시 신비스러운 동작을 한다.
주의점
1. 정확하게 해당 클래스의 데이터영역과 0으로 채워져야 할 부분을 제외하고 한다면 문제는 없지만, 조금 편해지려고 찾기 힘든 벌레를 키울수 있는 점은 이해해 두고 있어야 한다.
관련 링크
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tutorial&no=97
'연구실 > 파편화된 기록들' 카테고리의 다른 글
윈도우 NT 기술과 VMS의 관계 (0) | 2008.06.05 |
---|---|
KLDPConf (0) | 2008.06.05 |
XP 동시접속자 제한폭 넒히기 (0) | 2008.06.03 |
C로 MySQL 연동 준비 끝 (3) | 2008.06.02 |
항목 2: 함수내부에서 new 연산자를 사용해다면 잊지 마라! (0) | 2008.06.01 |
경험 (0) | 2008.05.28 |
프로그래머로써의 마음자세 (0) | 2008.05.24 |
윈도우 XP 서비스팩 3 공식 업데이트 되다. (0) | 2008.05.24 |
용어에 대한 선택 (0) | 2008.05.18 |
윈도우 창과 콘솔창 두개 띄우기 (0) | 2008.05.16 |
최근댓글