헷깔리는 const
const int* ap; // const int의 주소를 참조하는 포인터 int* const ap; // int의 주소를 참조하는 const 포인터 const int* const ap; // const int의 주소를 참조하는 const 포인터 솔직히 어디다 쓸지 잘 모르겠지만, 문법이 엄격한 C++ 특성상 알아두면 좋을 것 같다.
const int* ap; // const int의 주소를 참조하는 포인터 int* const ap; // int의 주소를 참조하는 const 포인터 const int* const ap; // const int의 주소를 참조하는 const 포인터 솔직히 어디다 쓸지 잘 모르겠지만, 문법이 엄격한 C++ 특성상 알아두면 좋을 것 같다.
삼항연산자는 조건문을 간략하게 줄인것이다. (조건) ? 참일때 : 거짓일때 ; 이런 형태로 사용이 된다. 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) ..
#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