Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 #define과 const 키워드의 차이점은 무엇입니까?

<시간/> <본문>

#define 지시문은 전처리기 지시문입니다. 전처리기는 컴파일러가 보기도 전에 해당 매크로를 본문으로 바꿉니다. 소스 코드의 자동 검색 및 교체라고 생각하십시오.

const 변수 선언은 실제 변수처럼 사용할 수 있는 언어의 실제 변수를 선언합니다. 주소를 가져오고, 전달하고, 변환하고, 등등.

컴파일러 최적화가 없으면 서로 다른 경우에 이 두 가지와 관련된 숨겨진 메모리 할당 비용이 있습니다. 그러나 적절한 최적화를 사용하면 거의 동일합니다. 또한 전처리기 매크로에는 범위가 없지만 const 값에는 범위가 있습니다.