Forbehandlerdirektiver i C++ er merket med # (hash) symbol i begynnelsen av utsagnet. Vanlige forprosessordirektiver i C++ inkluderer filinkludering og makroer definisjon. Disse direktivene er vanligvis plassert utenfor hovedfunksjonen () øverst i C++-programmet. Under forhåndsbehandlingen, en mellomfil med .Jeg utvidelse er generert.
#define Direktiv i C++
I C++ er #define-direktivet et forprosessordirektiv som brukes til å definere konstanter eller makroer. Den lar deg definere symbolske navn eller verdier som erstattes gjennom koden før selve kompileringsprosessen finner sted.
Her er noen av hovedhøydepunktene til #define Pre-prosessor
- I C++ brukes preprosessordirektivet #define til å definere makroer.
- Makroer i C++ er navngitte konstanter eller uttrykk deklarert med #define-direktivet.
- #define-direktiver omtales også som makrodirektiver.
- Når et #define-direktiv påtreffes i et C++-program, erstattes den definerte makroens navn med en konstant verdi eller et uttrykk under det innledende kompileringsstadiet.
Syntaks for #define-direktivet
Syntaksen for bruk av #define-direktivet er som følger:
#define identifikatorverdi
Hvor identifikator er navnet på konstanten eller makroen som defineres, og verdi er verdien den skal erstattes med når koden kompileres.
Eksempel på #define-direktiv
Følgende er et eksempel som forklarer hvordan #define-direktivet kan brukes i C++-kode:
#include#define PI 3.14159
#define SQUARE(x) ((x) * (x))
int hoved- ( ) {
dobbelt radius = 5.0 ;
dobbelt område = PI * TORGET ( radius ) ;
std :: cout << 'Område: ' << område << std :: endl ;
komme tilbake 0 ;
}
I dette eksemplet definerer vi to konstanter ved å bruke #define-direktivet: PI, som representerer den matematiske konstanten pi, og SQUARE, som er en makro som beregner kvadratet av en gitt verdi. Vi bruker deretter disse konstantene i koden vår for å beregne arealet av en sirkel med en gitt radius.
Forskjellen mellom #define og const
Et vanlig spørsmål som dukker opp når man diskuterer #define-direktivet er hvordan det skiller seg fra å bruke const-variabler i C++. Mens begge tilnærmingene lar deg definere konstanter som kan brukes gjennom koden din, er det noen viktige forskjeller mellom dem.
En stor forskjell mellom #definere og konst er at #define er et forbehandlerdirektiv, mens const er et nøkkelord som er en del av selve C++-språket. Dette betyr at konstanter definert med #define erstattes med verdiene deres før koden kompileres, mens const-variabler håndteres av kompilatoren selv.
En annen nøkkelforskjell mellom #define og const er at const-variablene har en spesifikk type, mens konstanter definert med #define ikke har det. Dette betyr at du kan bruke const-variabler på steder der det kreves en spesifikk type, mens konstanter definert med #define kanskje ikke alltid fungerer i disse situasjonene.
Konklusjon
#define-direktivet er et forprosessordirektiv som brukes til å definere konstanter eller makroer. Den lar oss definere symbolske navn eller verdier som erstattes gjennom koden før selve kompileringsprosessen finner sted. Les mer om #define-direktivet i C++ i denne artikkelen.