Kas yra #define direktyva C++

Kas Yra Define Direktyva C



Išankstinis apdorojimas C++ reiškia pradinį programos kompiliavimo arba vertimo etapą, kai šaltinio programos failas modifikuojamas pagal išankstinio procesoriaus nurodymus. Šios direktyvos, pažymėtos # simbolis, yra vykdomi išankstinio procesoriaus ir turi įtakos šaltinio kodui prieš paleidžiant pagrindinę programą.

Pirminio procesoriaus direktyvos C++ yra pažymėtos # (maišos) simbolis teiginio pradžioje. Įprastos C++ pirminio procesoriaus direktyvos apima failo įtraukimas ir makrokomandas apibrėžimas. Šios direktyvos paprastai yra už main() funkcijos ribų C++ programos viršuje. Išankstinio apdorojimo metu tarpinis failas su .i sugeneruojamas plėtinys.

#define direktyvą C++

C++ kalboje #define direktyva yra išankstinio procesoriaus direktyva, naudojama konstantoms arba makrokomandoms apibrėžti. Tai leidžia apibrėžti simbolinius pavadinimus arba reikšmes, kurios pakeičiamos visame kode prieš pradedant tikrąjį kompiliavimo procesą.







Štai keletas pagrindinių #define išankstinio procesoriaus akcentų



  • C++ kalboje makrokomandoms apibrėžti naudojama išankstinio procesoriaus direktyva #define.
  • C++ makrokomandos yra pavadintos konstantomis arba išraiškomis, deklaruotomis #define direktyva.
  • #define direktyvos taip pat vadinamos makro direktyvomis.
  • Kai C++ programoje aptinkama #define direktyva, pradiniame kompiliavimo etape apibrėžtos makrokomandos pavadinimas pakeičiamas pastovia reikšme arba išraiška.

#define direktyvos sintaksė

#define direktyvos naudojimo sintaksė yra tokia:



#define identifikatoriaus reikšmę

Kur identifikatorius yra apibrėžiamos konstantos arba makrokomandos pavadinimas, o reikšmė yra reikšmė, kuria jis turėtų būti pakeistas sudarant kodą.





#define direktyvos pavyzdys

Toliau pateikiamas pavyzdys, paaiškinantis, kaip #define direktyva gali būti naudojama C++ kode:

#include

#define PI 3.14159

#define Kvadratas(x) ((x) * (x))

tarpt pagrindinis ( ) {

dvigubai spindulys = 5.0 ;

dvigubai plotas = PI * Kvadratas ( spindulys ) ;

std :: cout << 'Sritis:' << plotas << std :: endl ;

grąžinti 0 ;

}

Šiame pavyzdyje mes apibrėžiame dvi konstantas naudodami #define direktyvą: PI, kuri reiškia matematinę konstantą pi, ir SQUARE, kuri yra makrokomanda, apskaičiuojanti nurodytos reikšmės kvadratą. Tada mes naudojame šias konstantas savo kode, norėdami apskaičiuoti tam tikro spindulio apskritimo plotą.



Skirtumas tarp #define ir const

Vienas dažnas klausimas, kylantis aptariant #define direktyvą, yra tai, kuo ji skiriasi nuo const kintamųjų naudojimo C++. Nors abu metodai leidžia apibrėžti konstantas, kurios gali būti naudojamos visame kode, tarp jų yra keletas pagrindinių skirtumų.

Vienas esminis skirtumas tarp #apibrėžti ir konst yra tai, kad #define yra išankstinio procesoriaus direktyva, o const yra raktinis žodis, kuris yra pačios C++ kalbos dalis. Tai reiškia, kad konstantos, apibrėžtos naudojant #define, pakeičiamos jų reikšmėmis prieš sudarant kodą, o const kintamuosius tvarko pats kompiliatorius.

Kitas pagrindinis skirtumas tarp #define ir const yra tas, kad const kintamieji turi tam tikrą tipą, o konstantos, apibrėžtos naudojant #define, neturi. Tai reiškia, kad galite naudoti const kintamuosius tose vietose, kur reikalingas konkretus tipas, o konstantos, apibrėžtos naudojant #define, gali ne visada veikti tokiose situacijose.

Išvada

#define direktyva yra išankstinio procesoriaus direktyva, naudojama konstantoms arba makrokomandoms apibrėžti. Tai leidžia mums apibrėžti simbolinius pavadinimus arba reikšmes, kurios pakeičiamos visame kode prieš pradedant tikrąjį kompiliavimo procesą. Skaitykite daugiau apie #define direktyvą C++ šiame straipsnyje.