Preprocessor-direktiver i C++ er angivet med # (hash) symbol i begyndelsen af udsagnet. Almindelige præprocessor-direktiver i C++ inkluderer fil medtagelse og makroer definition. Disse direktiver er typisk placeret uden for main()-funktionen øverst i C++-programmet. Under forbehandlingen vil en mellemfil med .jeg udvidelse genereres.
#define Direktiv i C++
I C++ er #define-direktivet et præprocessor-direktiv, der bruges til at definere konstanter eller makroer. Det giver dig mulighed for at definere symbolske navne eller værdier, der erstattes i hele koden, før selve kompileringsprocessen finder sted.
Her er nogle af de vigtigste højdepunkter i #define Pre-processor
- I C++ bruges præprocessor-direktivet #define til at definere makroer.
- Makroer i C++ er navngivne konstanter eller udtryk, der er erklæret med #define-direktivet.
- #define-direktiver omtales også som makrodirektiver.
- Når et #define-direktiv stødes på i et C++-program, erstattes den definerede makros navn med en konstant værdi eller et udtryk under den indledende kompileringsfase.
Syntaks for #define Direktiv
Syntaksen for brug af #define-direktivet er som følger:
#define identifikatorværdi
Hvor identifikator er navnet på konstanten eller makroen, der defineres, og værdien er den værdi, den skal erstattes med, når koden kompileres.
Eksempel på #define-direktiv
Følgende er et eksempel, der forklarer, hvordan #define-direktivet kan bruges i C++-kode:
#include#define PI 3.14159
#define KVADRAT(x) ((x) * (x))
int vigtigste ( ) {
dobbelt radius = 5,0 ;
dobbelt areal = PI * FIRKANT ( radius ) ;
std :: cout << 'Areal: ' << areal << std :: endl ;
Vend tilbage 0 ;
}
I dette eksempel definerer vi to konstanter ved hjælp af #define-direktivet: PI, som repræsenterer den matematiske konstant pi, og SQUARE, som er en makro, der beregner kvadratet af en given værdi. Vi bruger så disse konstanter i vores kode til at beregne arealet af en cirkel med en given radius.
Forskellen mellem #define og const
Et almindeligt spørgsmål, der opstår, når man diskuterer #define-direktivet, er, hvordan det adskiller sig fra at bruge const-variabler i C++. Mens begge tilgange giver dig mulighed for at definere konstanter, der kan bruges i hele din kode, er der nogle vigtige forskelle mellem dem.
En væsentlig forskel mellem #Definere og konst er, at #define er et præprocessor-direktiv, mens const er et nøgleord, der er en del af selve C++-sproget. Det betyder, at konstanter defineret ved hjælp af #define erstattes med deres værdier, før koden kompileres, mens const-variabler håndteres af compileren selv.
En anden vigtig forskel mellem #define og const er, at const-variablerne har en specifik type, mens konstanter defineret ved hjælp af #define ikke har det. Det betyder, at du kan bruge const-variable på steder, hvor en specifik type er påkrævet, mens konstanter defineret ved hjælp af #define måske ikke altid virker i disse situationer.
Konklusion
#define-direktivet er et præprocessor-direktiv, der bruges til at definere konstanter eller makroer. Det giver os mulighed for at definere symbolske navne eller værdier, der erstattes i hele koden, før selve kompileringsprocessen finder sted. Læs mere om #define-direktivet i C++ i denne artikel.