본문 바로가기
코스웨어/10년 시스템제어

[일일보고서] 5월24일(월) - 9번 노현용

by 알 수 없는 사용자 2010. 5. 25.
728x90
반응형
[[ C++ ]]

[소스1.] 예외 처리중 메모리 누수와 스마트 포인터
 
 ==>  
 26: 에서 B를 호출한 후 B에서 던진 예외를 메인으로 다시 던짐. 따라서 29: 메모리 해제 안됨.   31: 에서  생성자를 호출하면서 할당된 메모리 주소를 가지고 있다가 A()가 종료되면서 스마트 포인터 객체의 소멸자가 호출되어 메모리가 해제된다. 


[소스2.] 생성자에서 예외가 발생한 경우
 
===>  생성자에선 예외를 발생시키지
말라. 
29에서 생성자를 호출하고 12: 에서 메모리 할당했는데 13:에서 생성자 호출완료전에 예외를 던지고 종료되므로 메모리 누수.    


[소스3.] 연산자 오버로딩
     
     



[[ Win32 API ]]

[소스1.] InfoDlg 일부
 
 
36: 메인창이 생성되면 대화창 값을 초기화하고
46: 마우스 클릭하면 대화상자 띄우면서
8: 초기화 된 값으로 대화상자에 표시하고
15: 대화상자 OK버튼 클릭하면 수정한 값을 저장하고 대화창을 닫는다.
19: 이때 ok버튼의 ID인 IDOK가
47: 함수 리턴값으로 전달되어 조건문을 만족시켜 
41: 화면을 갱신한다.
 


[소스2.] DlgCheck 일부
 
89: 메인창 생성되면 대화창 값 초기화하고
93: 버튼 클릭하면 대화창 띄우면서
59: 초기화된 bMale 값을 체크버튼에 Major값을 라디오버튼에 적용한다.
65: 원하는 값을 체크하고 ok버튼을 누르면 버튼들의 체크상태로 두 변수를 갱신한다.
71: 대화창을 닫으면서 ok버튼의 ID인 IDOK를
94: 반환 받고 조건문을 만족시켜 
99: 화면을 갱신한다.
 













 
728x90