Što je #define Direktiva u C++

Sto Je Define Direktiva U C



Predprocesiranje u C++ odnosi se na početnu fazu kompilacije ili prijevoda programa gdje se izvorna programska datoteka modificira na temelju direktiva pretprocesora. Ove direktive, označene s # simbol, izvršava predprocesor i utječu na izvorni kod prije nego što se izvrši glavni program.

Direktive pretprocesora u C++ označene su s # (rasprskavanje) simbol na početku izjave. Uobičajene direktive pretprocesora u C++ uključuju uključivanje datoteke i makronaredbe definicija. Ove se direktive obično postavljaju izvan funkcije main() na vrhu C++ programa. Tijekom predobrade, posredna datoteka s .i generira se proširenje.

Direktiva #define u C++

U C++, direktiva #define je direktiva pretprocesora koja se koristi za definiranje konstanti ili makronaredbi. Omogućuje vam da definirate simbolička imena ili vrijednosti koje se zamjenjuju kroz kod prije nego što se dogodi stvarni proces kompilacije.







Ovdje su neke od glavnih značajki pretprocesora #define



  • U C++-u, direktiva pretprocesora #define koristi se za definiranje makronaredbi.
  • Makronaredbe u C++ su imenovane konstante ili izrazi deklarirani s #define direktivom.
  • #define direktive također se nazivaju makro direktivama.
  • Kada se u C++ programu naiđe na direktivu #define, definirani naziv makronaredbe zamjenjuje se konstantnom vrijednošću ili izrazom tijekom početne faze kompilacije.

Sintaksa direktive #define

Sintaksa za korištenje #define direktive je sljedeća:



#definiraj vrijednost identifikatora

Gdje je identifikator naziv konstante ili makronaredbe koja se definira, a vrijednost je vrijednost kojom bi se trebao zamijeniti kada se kod kompajlira.





Primjer direktive #define

Slijedi primjer koji objašnjava kako se direktiva #define može koristiti u C++ kodu:

#include

#definiraj PI 3.14159

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

int glavni ( ) {

dvostruko radius = 5.0 ;

dvostruko područje = PI * KVADRAT ( radius ) ;

std :: cout << 'Područje: ' << područje << std :: endl ;

povratak 0 ;

}

U ovom primjeru definiramo dvije konstante pomoću #define direktive: PI, koja predstavlja matematičku konstantu pi, i SQUARE, koja je makronaredba koja izračunava kvadrat zadane vrijednosti. Zatim koristimo te konstante u našem kodu za izračunavanje površine kruga s danim radijusom.



Razlika između #define i const

Jedno često pitanje koje se postavlja kada se raspravlja o direktivi #define je kako se ona razlikuje od korištenja const varijabli u C++. Iako vam oba pristupa omogućuju definiranje konstanti koje se mogu koristiti u vašem kodu, postoje neke ključne razlike među njima.

Jedna velika razlika između #definirati i konst je da je #define direktiva pretprocesora, dok je const ključna riječ koja je dio samog jezika C++. To znači da se konstante definirane pomoću #define zamjenjuju svojim vrijednostima prije nego što se kod prevede, dok const varijablama rukuje sam prevodilac.

Još jedna ključna razlika između #define i const je ta što varijable const imaju određeni tip, dok konstante definirane pomoću #define nemaju. To znači da možete koristiti const varijable na mjestima gdje je potreban određeni tip, dok konstante definirane pomoću #define možda neće uvijek raditi u tim situacijama.

Zaključak

Direktiva #define je direktiva pretprocesora koja se koristi za definiranje konstanti ili makronaredbi. Omogućuje nam da definiramo simbolička imena ili vrijednosti koje se zamjenjuju kroz kod prije nego što se dogodi stvarni proces kompilacije. Pročitajte više o #define direktivi u C++ u ovom članku.