답변 3
1
0
변수의 사용범위만을 놓고 본다면 정확합니다.
define은 전역변수처럼 어떤 함수에서든 호출할 수 있고,
const는 지역변수처럼 변수가 호출된 함수 내부에서만 사용할 수 있도록 코딩할 수 있습니다.
0
define과 const 모두 상수를 만드는 C/C++ 키워드입니다.
따라서 상수를 사용하고자 할 때 define 혹은 const 모두 사용가능하며,
오로지 define으로만 작업한다고 하더라도 큰 문제는 발생하지 않습니다.
다만, define의 경우에는 주로 전처리 지시자가 선언되는 부분에 선언되기 때문에
모든 block에서 접근할 수 있습니다.
그에 반해 const는 선언된 블록 내부에서만 사용할 수 있습니다.
따라서 사용되는 변수의 지정범위를 결정할 수 있어야 하는 C++의 기조상 const가 보다 바람직한 사용방법입니다.
#define MAX 4
int main() {
//MAX만 사용할 수 있으며, TEMP는 사용할 수 없음,
return 0
}
void func() {
const int TEMP = 4;
//MAX와 TEMP 모두 사용할 수 있음
}