Vad är #define-direktivet i C++

Vad Ar Define Direktivet I C



Förbearbetning i C++ avser den inledande fasen av programkompilering eller översättning där källprogramfilen modifieras baserat på förbehandlardirektiv. Dessa direktiv, betecknade med # symbol, exekveras av förprocessorn och påverkar källkoden innan huvudprogrammet exekveras.

Förprocessordirektiv i C++ betecknas med # (hash) symbol i början av uttalandet. Vanliga förprocessordirektiv i C++ inkluderar filinförande och makron definition. Dessa direktiv är vanligtvis placerade utanför main()-funktionen överst i C++-programmet. Under förbearbetningen, en mellanfil med .i förlängning genereras.

#define Direktiv i C++

I C++ är #define-direktivet ett förprocessordirektiv som används för att definiera konstanter eller makron. Det låter dig definiera symboliska namn eller värden som ersätts genom hela koden innan den faktiska kompileringsprocessen äger rum.







Här är några av de viktigaste höjdpunkterna i #define Pre-processor



  • I C++ används förprocessordirektivet #define för att definiera makron.
  • Makron i C++ kallas konstanter eller uttryck som deklareras med #define-direktivet.
  • #define-direktiv kallas även för makrodirektiv.
  • När ett #define-direktiv påträffas i ett C++-program, ersätts det definierade makrots namn med ett konstant värde eller uttryck under det inledande kompileringsskedet.

Syntax för #define Direktiv

Syntaxen för att använda #define-direktivet är följande:



#define identifierarvärde

Där identifierare är namnet på konstanten eller makrot som definieras, och värde är värdet som det ska ersättas med när koden kompileras.





Exempel på #define-direktiv

Följande är ett exempel som förklarar hur #define-direktivet kan användas i C++-kod:

#include

#define PI 3.14159

#define KVADRATUR(x) ((x) * (x))

int huvud ( ) {

dubbel radie = 5.0 ;

dubbel område = PI * FYRKANT ( radie ) ;

std :: cout << 'Område:' << område << std :: endl ;

lämna tillbaka 0 ;

}

I det här exemplet definierar vi två konstanter med #define-direktivet: PI, som representerar den matematiska konstanten pi, och SQUARE, som är ett makro som beräknar kvadraten på ett givet värde. Vi använder sedan dessa konstanter i vår kod för att beräkna arean av en cirkel med en given radie.



Skillnaden mellan #define och const

En vanlig fråga som uppstår när man diskuterar #define-direktivet är hur det skiljer sig från att använda const-variabler i C++. Medan båda tillvägagångssätten låter dig definiera konstanter som kan användas i hela din kod, finns det några viktiga skillnader mellan dem.

En stor skillnad mellan #definiera och konst är att #define är ett förprocessordirektiv, medan const är ett nyckelord som är en del av själva C++-språket. Detta innebär att konstanter som definieras med #define ersätts med deras värden innan koden kompileras, medan const-variabler hanteras av kompilatorn själv.

En annan viktig skillnad mellan #define och const är att const-variablerna har en specifik typ, medan konstanter som definieras med #define inte har det. Det betyder att du kan använda const-variabler på platser där en specifik typ krävs, medan konstanter definierade med #define kanske inte alltid fungerar i de situationerna.

Slutsats

#define-direktivet är ett förprocessordirektiv som används för att definiera konstanter eller makron. Det tillåter oss att definiera symboliska namn eller värden som ersätts genom hela koden innan själva kompileringsprocessen äger rum. Läs mer om #define-direktivet i C++ i den här artikeln.