전처리 지시사
전처리 지시사 | 기능 | 사용 예 |
#include [파일] | 지정한 '파일'의 내용을 지시사 위치에 넣는다. | 다른 곳에 정의된 함수를 사용할 목적으로 해당 함수의 선언문이 담긴 헤더 파일을 가져온다. |
#define [키] [값] | 코드에서 '키'에 해당하는 부분을 모든 '값'으로 지정한 내용으로 바꾼다. | C에서 주로 상숫값이나 매크로를 정의하는 데 사용함. C++는 상수 및 매크로 정의에 대해 좀 더 개선 메커니즘 제공. |
#ifdef [키] #endif |
ifdef(if defined)는 지정한 '키'가 #define문으로 정의되어 있으면 ifdef로 묶인 코드 블록을 포함시키고, 정의되어 있지 않으면 포함시키지 않는다. | 주로 인클루드 문장이 중복해서 추가되는는 것을 막는 용도로 사용함. #ifdef로 헤더 파일을 불러오면 먼저 '키'값이 정의되어 있는지 확인한 뒤, 없다면 #define 지시사로 그 '키'를 정의함. 그리고 #endif 지시자로 헤더 파일 추가 구문을 닫음. |
#ifndef[키] #endif |
ifndef(if not defined)는 지정한 '키'가 #define 문으로 정의되어 었지 않으면 ifndef로 묶인 코드 블록을 포함시키고, 정의되어 있으면 포함시키지 않는다. | |
#pragma [xyz] | xyz에 대한 구체적인 동작은 컴파일러마다 다름. 대부분 컴파일러는 #pragma를 지원하며, 주로 전처리 과정에서 이 지시사를 도달할 때 경고나 에러 메세지를 화면에 표시하는 용도로 사용함 | +) #pragma once 지시사 사용 ex. #pragma once // 헤더 파일의 내용 |
중복 인클루드를 막는 예제
#ifndef MYHEADER_H
#define MYHEADER_H
// 헤더 파일 내용
#endif
'프로그래밍 언어 > C++' 카테고리의 다른 글
문자열 클래스 (2) | 2024.03.12 |
---|---|
객체지향프로그래밍 (0) | 2024.03.06 |
C++기본기(2) (4) | 2024.02.29 |
rand, srand, time을 이용한 난수 생성 (0) | 2024.02.15 |
C++ 기본기(1) (1) | 2024.02.13 |