[C++] typdedef 와 #define의 차이

2024. 9. 1. 15:06C&&C++/C,C++ learning

 

feature typedef #define
유효 범위 정의된 유효 범위 내에서만 유효 정의된 후 파일의 끝까지 유효
타입 체크 타입으로 처리됨 단순히 텍스트 치환 (타입으로 인식되지 않음)
디버깅 지원 디버깅 시에도 타입으로 인식 텍스트로 치환되어 디버깅이 어려움
에러 방지 타입 안전성을 보장 예기치 않은 치환으로 오류 가능성 존재

typedef long long ll; 

#define ll long long; 

typedef로 long long을 ll로 별칭하는순간, ll은 진짜 long long이 된다. 

#define ll long long를 적으면,선행처리기가 ll을  long long으로 바꾼다. 그다음에, compile 한다. 

'C&&C++ > C,C++ learning' 카테고리의 다른 글

[C++] min_element , max_element  (0) 2024.08.31
[C++] 구조체  (3) 2024.08.30