본문 바로가기

[EC++] 항목 7. 다형성을 가진 기본 클래스에서는 소멸자를 반드시 가상 소멸자로 선언하자. Effective C++에 있는 내용이라고 겁먹지 말자. 우리는 이미 이 내용을 제가 C++ 포스팅 하면서 언급을 한 적이 있습니다. 왜 다형성을 가진 기본 클래스에서는 소멸자를 가상 소멸자로 써야 하는가? 우선 다형성과 그 이유에 대해서 먼저 보시죠. 다형성 이란? Virtual 소멸자 위 두 포스팅만 보더라도 왜 가상 소멸자를 쓰는지 이유는 충분히 알 수 있을 것입니다. 가상 함수를 C++에서 구현하려면 클래스에 별도의 자료구조가 하나 들어가야 합니다. 이 자료구조는 프로그램 실행 중에 주어진 객체에 대해 어떤 가상 함수를 호출해야 하는지는 결정하는 데 쓰이는 정보인데, 실제로는 포인터의 형태를 취하는 것이 대부분이고, 이를 가상 함수 테이블 포인터(Virtual table pointer) 즉, vp.. 더보기
Doxygen, C/C++외의 코드 문서화 도구 Doxygen은 주어진 소스 코드를 분석하고 소스 코드에 있는 특정한 형식의 주석을 이용해서 소스 코드를 자동으로 문서화해주는 프로그램이다. 결과는 일련의 HTML 페이지들이구, LATEX나 PDF 문서들을 만들어낼 수도 있다. 일단 Doxygen을 설치 하기 전에 아래와 같이 해당 문서에그래프 다이어그램도 만들기 위해서는 Graphviz의 Graph Visualization Software를 설치할 필요가 있다. graphviz-2.26.3 다운 받으러 가기 이 사이트에 접을 하면 위와 같이 첫 화면에서 current stable release 부분에서 다운을 받을 수 있다. graphviz-2.26.3.msi 이라는 파일 이름으로 다운이 받아졌을 것이다. 다운 받고 아무 폴더에 깔아 주기만 하면 된다.. 더보기
DirectX SDK 설치, Visual Studio 환경설정 DirectX 9.0을 이용한 프로래밍을 위한 환경 구축에 앞서, 당연히 우선 DirectX SDK(Software Development Kit)을 받아야 합니다. 저는 Feb2010을 쓰겠습니다. Microsoft 홈페이지 다운받으러 가기 용량이 크므로, 받는데 시간이 좀 걸립니다. 우선 파일을 다운 받았으면 설치를 해야 겠죠? 설치 파일을 누르면 아래와 같이 뜹니다. 넘겨 주시고, License Agreement 도 가뿐하게 동의~ 이건뭐 상관이 없으니 No를 선택하고 다음으로 넘어 갑니다. 무엇을 깔지 선택합니다. 뭐 손 안대는 것이 좋겠죠. 요즘은 고용량 시대이니 다 깔아 줍니다. 이후에 폴더 선택 하는 부분이 있는데, 제가 이미 깔려진 상태에서 스샷을 찍어서 그 부분은 자동적으로 넘어 가더군요... 더보기