Programming

Programming/C++ & Unreal

함수 포인터 예제

void sayYeah(void) { printf("Yeah"); } void sayHo(void) { printf("Ho!!"); } int main() { void (*test)(void); test = sayHo; test(); test = sayYeah; test(); return 0; } // 함수들을 맵 같은곳에 넣어서 간단하게 사용하는 방법도 재미있을듯. 실제로 저 글을 작성한 후 기말고사 API 게임 때, JSP처럼 Map에다 함수를 넣어서 사용하는 미친 짓을 했었다..

Programming/C++ & Unreal

C++ 클래스에서 구조체 초기화

만약 Block이라는 클래스와, point라는 구조체가 둘다 초기화를 필요로 하고 있다면, MyPoint point; MyBlock(const float x, const float y, /* TODO LIST */) : point(x,y){ // TODO LIST } 이런식으로 초기화 해주면 된다.이렇게 구조체를 초기화 하지 않고, 생성자를 구현하면 에러가 나게 된다.

Programming/C++ & Unreal

C++ 참조형 변수 Reference

Reference(참조) 형 변수.포인터와 비슷하면서 다르다.똑같은 변수를 이름만 복제해서 사용 한다고 생각하면 편하다. void ReferTest(int& test){ test = 1; } main(){ int a; ReferTest(a); } // Main : a = 1

Programming/C++ & Unreal

헷깔리는 const

const int* ap; // const int의 주소를 참조하는 포인터 int* const ap; // int의 주소를 참조하는 const 포인터 const int* const ap; // const int의 주소를 참조하는 const 포인터 솔직히 어디다 쓸지 잘 모르겠지만, 문법이 엄격한 C++ 특성상 알아두면 좋을 것 같다.

Programming/C++ & Unreal

삼항연산자

삼항연산자는 조건문을 간략하게 줄인것이다. (조건) ? 참일때 : 거짓일때 ; 이런 형태로 사용이 된다. if(a>=b) printf("%d",a); else printf("%d",b); ↓ printf("%d",(a>b)?a:b); 위 소스는 두 정수(a,b)중 더 큰 값을 출력하는 소스인데, 아래처럼 짧은 조건은 오히려 삼항연산자를 사용하는 것이 더 보기 좋다. #include #define Max(Num1,Num2) ((Num1>Num2)?Num1:Num2) int main(){ int a,b; scanf("%d %d",&a,&b); printf("%d",Max(a,b)); return 0; } 위 #define~ 부분은 int Max(int num1,int num2){ if(num1>=num2) ..

Programming/C++ & Unreal

우선 순위 큐 (힙정렬) STL 사용하기

#include #include using namespace std; int main(){ #define _MAX_HEAP // 이곳을 생략시키면 MIN_HEAP! #ifdef _MAX_HEAP priority_queue a; #endif #ifndef _MAX_HEAP priority_queue a; #endif int x,i; for(i=1;i

장형이
'Programming' 카테고리의 글 목록 (8 Page)