Kaj je direktiva #define v C++

Kaj Je Direktiva Define V C



Predhodna obdelava v C++ se nanaša na začetno fazo prevajanja ali prevajanja programa, kjer se izvorna programska datoteka spremeni na podlagi direktiv predprocesorja. Te direktive, označene z # simbol, izvede predprocesor in vpliva na izvorno kodo, preden se izvede glavni program.

Direktive predprocesorja v C++ so označene z # (razpršitev) simbol na začetku izjave. Pogoste direktive predprocesorja v C++ vključujejo vključitev datoteke in makri definicija. Te direktive so običajno postavljene zunaj funkcije main() na vrhu programa C++. Med predhodno obdelavo se vmesna datoteka z .jaz se ustvari razširitev.

Direktiva #define v C++

V C++ je direktiva #define direktiva predprocesorja, ki se uporablja za definiranje konstant ali makrov. Omogoča vam definiranje simbolnih imen ali vrednosti, ki so nadomeščene v kodi, preden se izvede dejanski postopek prevajanja.







Tukaj je nekaj glavnih poudarkov predprocesorja #define



  • V C++ se za definiranje makrov uporablja direktiva predprocesorja #define.
  • Makri v C++ so poimenovane konstante ali izrazi, deklarirani z direktivo #define.
  • Direktive #define se imenujejo tudi makro direktive.
  • Ko v programu C++ naletimo na direktivo #define, se ime definiranega makra nadomesti s konstantno vrednostjo ali izrazom med začetno stopnjo prevajanja.

Sintaksa direktive #define

Sintaksa za uporabo direktive #define je naslednja:



#določite vrednost identifikatorja

Kjer je identifikator ime konstante ali makra, ki se definira, vrednost pa je vrednost, s katero naj bo zamenjan, ko je koda prevedena.





Primer direktive #define

Sledi primer, ki pojasnjuje, kako lahko uporabite direktivo #define v kodi C++:

#include

#define PI 3.14159

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

int glavni ( ) {

dvojno polmer = 5.0 ;

dvojno območje = PI * KVADRAT ( polmer ) ;

std :: cout << 'Območje: ' << območje << std :: konec ;

vrnitev 0 ;

}

V tem primeru definiramo dve konstanti z uporabo direktive #define: PI, ki predstavlja matematično konstanto pi, in SQUARE, ki je makro, ki izračuna kvadrat dane vrednosti. Te konstante nato uporabimo v naši kodi za izračun površine kroga z danim polmerom.



Razlika med #define in const

Eno pogosto vprašanje, ki se pojavi pri razpravi o direktivi #define, je, kako se razlikuje od uporabe spremenljivk const v C++. Medtem ko oba pristopa omogočata definiranje konstant, ki jih je mogoče uporabiti v vaši kodi, obstaja nekaj ključnih razlik med njima.

Ena velika razlika med #definiraj in konst je, da je #define direktiva predprocesorja, medtem ko je const ključna beseda, ki je del samega jezika C++. To pomeni, da so konstante, definirane z #define, zamenjane z njihovimi vrednostmi, preden je koda prevedena, medtem ko spremenljivke const obravnava sam prevajalnik.

Druga ključna razlika med #define in const je, da imajo spremenljivke const določen tip, medtem ko konstante, definirane z #define, nimajo. To pomeni, da lahko uporabite spremenljivke const na mestih, kjer je zahtevana določena vrsta, medtem ko konstante, definirane z uporabo #define, v teh situacijah morda ne bodo vedno delovale.

Zaključek

Direktiva #define je direktiva predprocesorja, ki se uporablja za definiranje konstant ali makrov. Omogoča nam definiranje simbolnih imen ali vrednosti, ki so nadomeščene v kodi, preden se izvede dejanski postopek prevajanja. Preberite več o direktivi #define v C++ v tem članku.