C++에서 #define 지시어는 무엇입니까

C Eseo Define Jisieoneun Mueos Ibnikka



C++에서 전처리는 소스 프로그램 파일이 전처리기 지시문에 따라 수정되는 프로그램 컴파일 또는 변환의 초기 단계를 나타냅니다. 이 지시문은 # 기호는 전처리기에 의해 실행되며 메인 프로그램이 실행되기 전에 소스 코드에 영향을 미칩니다.

C++의 전처리기 지시문은 # (해시) 진술의 시작 부분에 기호. C++의 일반적인 전처리기 지시문에는 다음이 포함됩니다. 파일 포함 그리고 매크로 정의. 이러한 지시문은 일반적으로 C++ 프로그램의 맨 위에 있는 main() 함수 외부에 배치됩니다. 사전 처리 중에 중간 파일은 .나 확장자가 생성됩니다.

C++의 #define 지시문

C++에서 #define 지시문은 상수 또는 매크로를 정의하는 데 사용되는 전처리기 지시문입니다. 실제 컴파일 프로세스가 수행되기 전에 코드 전체에서 대체되는 기호 이름 또는 값을 정의할 수 있습니다.







다음은 #define 전처리기의 주요 특징 중 일부입니다.



  • C++에서 전처리기 지시문 #define은 매크로를 정의하는 데 사용됩니다.
  • C++의 매크로는 명명된 상수 또는 #define 지시문으로 선언된 식입니다.
  • #define 지시어는 매크로 지시어라고도 합니다.
  • C++ 프로그램에서 #define 지시문을 만나면 정의된 매크로의 이름이 초기 컴파일 단계에서 상수 값이나 표현식으로 대체됩니다.

#define 지시어 구문

#define 지시문을 사용하기 위한 구문은 다음과 같습니다.



#define 식별자 값

여기서 identifier는 정의되는 상수 또는 매크로의 이름이고 value는 코드가 컴파일될 때 대체되어야 하는 값입니다.





#define 지시문의 예

다음은 C++ 코드에서 #define 지시문을 사용하는 방법을 설명하는 예입니다.

#include

#define PI 3.14159

#define SQUARE(x) ((x) * (x))

정수 기본 ( ) {

더블 반지름 = 5.0 ;

더블 영역 = 파이 * 정사각형 ( 반지름 ) ;

성병 :: 쿠우트 << '영역: ' << 영역 << 성병 :: ;

반품 0 ;

}

이 예제에서는 #define 지시문을 사용하여 두 개의 상수를 정의합니다. PI는 수학 상수 pi를 나타내고 SQUARE는 주어진 값의 제곱을 계산하는 매크로입니다. 그런 다음 코드에서 이러한 상수를 사용하여 주어진 반지름을 가진 원의 면적을 계산합니다.



#define과 const의 차이점

#define 지시문을 논의할 때 발생하는 일반적인 질문 중 하나는 이것이 C++에서 const 변수를 사용하는 것과 어떻게 다른가입니다. 두 방법 모두 코드 전체에서 사용할 수 있는 상수를 정의할 수 있지만 두 방법 사이에는 몇 가지 주요 차이점이 있습니다.

한 가지 주요 차이점 #정의하다 그리고 const #define은 전처리기 지시문인 반면 const는 C++ 언어 자체의 일부인 키워드입니다. 즉, #define을 사용하여 정의된 상수는 코드가 컴파일되기 전에 해당 값으로 대체되는 반면 const 변수는 컴파일러 자체에서 처리됩니다.

#define과 const의 또 다른 주요 차이점은 const 변수에는 특정 유형이 있지만 #define을 사용하여 정의된 상수에는 유형이 없다는 것입니다. 즉, 특정 유형이 필요한 위치에서 const 변수를 사용할 수 있지만 #define을 사용하여 정의된 상수는 이러한 상황에서 항상 작동하지 않을 수 있습니다.

결론

#define 지시어는 상수 또는 매크로를 정의하는 데 사용되는 전처리기 지시어입니다. 이를 통해 실제 컴파일 프로세스가 시작되기 전에 코드 전체에서 대체되는 기호 이름 또는 값을 정의할 수 있습니다. 이 기사에서 C++의 #define 지시문에 대해 자세히 읽어보십시오.