Čo je to smernica #define v C++

Co Je To Smernica Define V C



Predspracovanie v C++ sa týka počiatočnej fázy kompilácie alebo prekladu programu, kde je zdrojový programový súbor upravený na základe direktív preprocesora. Tieto smernice, označené ako # symbol, sú vykonávané preprocesorom a ovplyvňujú zdrojový kód pred spustením hlavného programu.

Direktívy preprocesora v C++ sú označené ako # (hash) symbol na začiatku vyhlásenia. Bežné direktívy preprocesora v C++ zahŕňajú zaradenie súboru a makrá definícia. Tieto direktívy sú zvyčajne umiestnené mimo funkcie main() v hornej časti programu C++. Počas predbežného spracovania sa medzisúbor s .i vygeneruje sa rozšírenie.

#define Smernica v C++

V C++ je direktíva #define direktíva preprocesora používaná na definovanie konštánt alebo makier. Umožňuje vám definovať symbolické názvy alebo hodnoty, ktoré sú v kóde nahradené pred samotným procesom kompilácie.







Tu sú niektoré z hlavných najdôležitejších prvkov #define Pre-processor



  • V C++ sa na definovanie makier používa direktíva preprocesora #define.
  • Makrá v C++ sú pomenované konštanty alebo výrazy deklarované pomocou direktívy #define.
  • Direktívy #define sa označujú aj ako smernice makro.
  • Keď sa v programe C++ stretnete s direktívou #define, počas počiatočnej fázy kompilácie sa názov definovaného makra nahradí konštantnou hodnotou alebo výrazom.

Syntax smernice #define

Syntax na použitie direktívy #define je nasledovná:



#define hodnotu identifikátora

Kde identifikátor je názov konštanty alebo makra, ktoré sa definuje, a hodnota je hodnota, ktorou by sa mal nahradiť pri kompilácii kódu.





Príklad smernice #define

Nasleduje príklad, ktorý vysvetľuje, ako možno použiť direktívu #define v kóde C++:

#include

#define PI 3.14159

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

int Hlavná ( ) {

dvojitý polomer = 5.0 ;

dvojitý oblasť = PI * NÁMESTIE ( polomer ) ;

std :: cout << 'Oblasť: ' << oblasť << std :: endl ;

vrátiť 0 ;

}

V tomto príklade definujeme dve konštanty pomocou direktívy #define: PI, ktorá predstavuje matematickú konštantu pi, a SQUARE, čo je makro, ktoré vypočíta druhú mocninu danej hodnoty. Tieto konštanty potom použijeme v našom kóde na výpočet plochy kruhu s daným polomerom.



Rozdiel medzi #define a const

Jedna častá otázka, ktorá vzniká pri diskusii o smernici #define, je, ako sa líši od používania premenných const v C++. Aj keď oba prístupy umožňujú definovať konštanty, ktoré možno použiť v celom kóde, existujú medzi nimi niektoré kľúčové rozdiely.

Jeden zásadný rozdiel medzi #definovať a konšt je, že #define je direktíva preprocesora, zatiaľ čo const je kľúčové slovo, ktoré je súčasťou samotného jazyka C++. To znamená, že konštanty definované pomocou #define sú nahradené svojimi hodnotami pred kompiláciou kódu, zatiaľ čo premenné const sú spracované samotným kompilátorom.

Ďalším kľúčovým rozdielom medzi #define a const je to, že premenné const majú špecifický typ, zatiaľ čo konštanty definované pomocou #define nie. To znamená, že premenné const môžete použiť na miestach, kde sa vyžaduje špecifický typ, zatiaľ čo konštanty definované pomocou #define nemusia v týchto situáciách vždy fungovať.

Záver

Direktíva #define je direktíva preprocesora používaná na definovanie konštánt alebo makier. Umožňuje nám definovať symbolické názvy alebo hodnoty, ktoré sú v kóde nahradené pred samotným procesom kompilácie. Prečítajte si viac o direktíve #define v C++ v tomto článku.