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.