-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
define 과 cost
21.02.13 19:52 작성 조회수 196
1
c++ 작업중에 cost를 쓰지 않고 오로지 define으로만 작업하면 무슨 문제가 생기나요?
답변을 작성해보세요.
1
0
판다코딩
지식공유자2021.02.18
변수의 사용범위만을 놓고 본다면 정확합니다.
define은 전역변수처럼 어떤 함수에서든 호출할 수 있고,
const는 지역변수처럼 변수가 호출된 함수 내부에서만 사용할 수 있도록 코딩할 수 있습니다.
0
판다코딩
지식공유자2021.02.13
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 모두 사용할 수 있음
}
답변 3