[C++] 매크로
Define이란?
C++ 에서 매크로를 정의, 매크로 상수나 함수를 만들때 사용합니다.
소스코드에서 의미있는 값, 상수에 이름을 붙이고 싶을 때 매크로 상수를 사용하며,
가독성을 높여주고 유지보수도 용이합니다.
또한 변수를 사용하는것 보다 처리속도도 빠릅니다.
예제
사용법은 매우 간단한데, 아래와 같이 정의하면 바로 사용이 가능합니다.
#define PI 3.141592
전체 코드로 보면 아래와 같습니다.
#include<iostream>
#define PI 3.141592
int main()
{
std::cout << "PI는? : " << PI << std::endl;
}
여기서 매크로의 비밀은 치환에 있습니다. 일단 글자에만 집중하여 치환하는데,
전처리가 끝난 후 위의 코드는 아래처럼 바뀌게 됩니다.
#include<iostream>
#define PI 3.141592
int main()
{
std::cout << "PI는? : " << 3.141592 << std::endl;
}
매크로 사용의 나쁜 예
다음은 매크로를 이용하였지만 C++의 문법을 모두 무시해버린 나쁜 예제입니다.
이게 가능한 이유는 자료형은 일체 신경 쓰지 않고 치환만 하기때문 입니다.
#include<iostream>
#define 시작 int main() {
#define 끝 }
#define 출력 std::cout << "PI는? : " << 3.141592 << std::endl;
시작
출력
끝