본문 바로가기

프로그래밍/C/C++/API

[C/C++/API] Virtual 키워드 출처 - 네이버 지식인에서 퍼왔어요. 내용이 좋내요.http://goo.gl/u9C98 ================================================================ virtual은 3가지 정도로 사용됩니다. OOP에 대한 개념이 잡혀있어야 설명을 제대로 이해하실 수 있을텐데.. 최대한 쉽게 설명 해보도록 하죠. 일단 OOP 개념 중 클래스 상속에 대한 것은 잘 아실겁니다. 이마저도 모르신다면 virtual에 대해서는 전혀 궁금해하실 필요가 없으니 그냥 넘어가시면 되구요.. 진도를 앞서나가는 호기심은 해롭습니다! :-) class Bird { // 중략}; class Chicken : public Bird { // 중략}; class Eagle : public Bir.. 더보기
[C/C++/API] 함수포인터 사용과 예제 함수 포인터란? 기본적으로 사람들이 자주 사용하는 변수 포인터와 같은 개념이다. 하지만 다른게 있다면 인자를 받을 수 있고 함수포인터를 사용함으로서 게임 프로그래밍에 분기 조절을 쉽게 할 수 있다. 함수포인터를 사용하지 않고(switch, if, 등) 게임 분기를 조절하려 한다면 아래와 같은 방법으로 사용 할 수 있을 것이다. void Process(int State) { switch(State) { case 0: MainMenu(); break; case 1: PlayGame(); break; case 2: EndGame(); break; } } 여기서 생기는 의문점 함수포인터로 분기조절을 어떻게 할건데? 라는 의문이 생겨야된다.....(안생기면 말고..ㅡ.ㅡ..) 함수포인터로 분기조절을 한다는 말은 .. 더보기
[C/C++/API] MFC가 아닌 소스에서 CString Class 사용 하기 MFC를 공부하면서 사용하던 아무리 생각해도 엄청나게 편한 CString Class를 MFC를 벗어나면 못쓴다? 틀린말이다. MS에서 고맙게도 Visula Studio 2003 부터 CString Class를 때어내서 MFC가 아닌 곳에서도 사용이 가능 하도록 우리에게 제공해주는 .h 파일이 있다. atlstr.h 이녀석이다. CString Class가 없으면 정수를 문자열로 변환하거나 할때 itoa()를 쓰는 것도 귀찮아서 찾아봤더니 나온 .h파일이다. 사용 방법을 모르는 사람은 없겠지만 그래도 예의상 #include ... int i = 1004; CString str; str.Format("%d", i); MessageBox(str); ... 난...친절하니깐.....ㅋㅋㅋㅋㅋㅋㅋㅋ 더보기
[C/C++/API] new, delete 연산자와 포인터를 이용한 고차원 배열 동적 할당 우선 new는 C에서 사용되는 malloc과 똑같다고 생각하는 사람이 많은것 같은데 틀린 이야기다. new연산자는 할당 대상만큼의 메모리를 heap으로 부터 할당하여 그 번지값을 리턴 한다. 리턴되는 번지값의 타입은 point이기 때문에 point가 들어가는 함수의 인자값으로 바로 사용이 가능 하다. malloc의 경우에는 무조건 voide*형을 리턴 하기 때문에 캐스트 연산자를 사용해야 된다. new로 메모리 할당과 메모리 해제 그리고 포인터를 이용한 고차원 메모리 할당과 해제까지 알아보겠다. new 메모리 할당 사용방법 자료타입 *변수이름 = new 자료타입; ex) int *Count = new int; delete 메모리 해제 사용방법 delete 변수이름; ex) delete Count; 1차원.. 더보기
[C/C++/API] C++ Programming Style Guide-line 기본 개념 작성일 : 1997년 (In Skyteam) 작성일 : 2002년 11월 13일 (In SkySoft) 1차 개정일 : 2005년 4월 13일 (In Freechal) 작성자 : 채경석 kyuseo99@chol.com http://p8.co.kr 개요 본 가이드는 절대적이거나, 표준으로 규정된 내용들이 아니라 하나의 지침사항입니다. 프로그래밍에 조금의 지식이 있는 프로그래머라면 ‘(‘ 뒤에 공백이 있던지 말던지 ‘{‘를 어떻게 붙이던지 코드를 분석하는데 별다른 어려움이 없습니다. 하지만 본 가이드를 힘들게 작성하고 배우고 지켜야 하는 이유는, 좀 더 코드를 분석하는 시간을 줄이고 이해하기 쉽도록 하기 위해서 입니다. 이것이 적어도 동일한 프로젝트에서, 적어도 동일한 팀에서, 같은 스타일로 제작.. 더보기