728x90
-
매크로 변수의 문제점
- 매크로 변수는 define으로 변수를 정의할 때 자료형(type)을 특정하여 사용할 수 없다.
- 자료형은 컴파일 시에 확정되기 때문에 변수를 가져다 쓰는 곳에서 자료형을 명시해줘야 한다.
- 매크로는 전역 네임스페이스에 적용되므로, 같은 이름의 다른 변수나 함수와 충돌할 수 있다. - #define Add(a, b) a * b 의 문제점 (매크로 함수의 함정)
- a와 b 값으로 각각 하나의 숫자를 넘겨주면 문제없이 실행되지만 a의 값으로 2+3 을 넘겨주면 원치않은 결과값이 도출된다.
- 정확히 사용하려면 #define Add(a, b) (a) * (b) 처럼 a와 b에 각각 괄호를 쳐줘야 한다.
728x90
'👩🏻💻기초지식 > C++' 카테고리의 다른 글
[C++] new/malloc과 delete/free 차이는? 가상 메모리 할당 함수란? (0) | 2023.08.17 |
---|---|
[C++] 구조체 특성, 패딩이란? 공용체란? (0) | 2023.08.17 |
[C++] 상수(const)의 역할과 종류 (0) | 2023.08.17 |
[C++] auto 키워드 (0) | 2023.08.17 |
[C++] Call By Value/Address/Reference (0) | 2023.08.17 |