Eelprotsessori direktiivid C++-s on tähistatud tähega # (räsi) sümbol lause alguses. Levinud C++ eeltöötlusjuhised hõlmavad järgmist faili kaasamine ja makrod määratlus. Need direktiivid paigutatakse tavaliselt C++ programmi ülaosas olevast funktsioonist main() välja. Eeltöötluse käigus vahefail koos .i laiendus luuakse.
#define direktiiv keeles C++
C++ puhul on #define direktiiv eelprotsessori direktiiv, mida kasutatakse konstantide või makrode määratlemiseks. See võimaldab teil määratleda sümboolsed nimed või väärtused, mis asendatakse kogu koodis enne tegelikku kompileerimisprotsessi.
Siin on mõned #define eelprotsessori peamised esiletõstmised
- C++ puhul kasutatakse makrode määratlemiseks eelprotsessori käsku #define.
- C++ makrodele nimetatakse konstante või avaldisi, mis on deklareeritud direktiiviga #define.
- #define direktiive nimetatakse ka makrodirektiivideks.
- Kui C++ programmis kohtab käsk #define, asendatakse defineeritud makro nimi algsel kompileerimisetapis konstantse väärtuse või avaldisega.
#define direktiivi süntaks
#define direktiivi kasutamise süntaks on järgmine:
#määratle identifikaatori väärtus
Kus identifikaator on määratletava konstandi või makro nimi ja väärtus on väärtus, millega see tuleks koodi koostamisel asendada.
Näide #define direktiivist
Järgmine näide selgitab, kuidas #define direktiivi saab kasutada C++ koodis:
#include#define PI 3.14159
#define RUUT(x) ((x) * (x))
int peamine ( ) {
kahekordne raadius = 5.0 ;
kahekordne ala = PI * RUUT ( raadius ) ;
std :: cout << 'Piirkond:' << ala << std :: endl ;
tagasi 0 ;
}
Selles näites defineerime kaks konstanti, kasutades käskkirja #define: PI, mis tähistab matemaatilist konstanti pi, ja SQUARE, mis on makro, mis arvutab antud väärtuse ruudu. Seejärel kasutame neid konstante oma koodis antud raadiusega ringi pindala arvutamiseks.
Erinevus #define ja const vahel
Üks levinud küsimus, mis direktiivi #define arutamisel tekib, on see, kuidas see erineb konst-muutujate kasutamisest C++-s. Kuigi mõlemad lähenemisviisid võimaldavad teil määratleda konstante, mida saab kogu koodis kasutada, on nende vahel mõned olulised erinevused.
Üks oluline erinevus #määratle ja konst on see, et #define on eelprotsessori direktiiv, samas kui const on märksõna, mis on osa C++ keelest. See tähendab, et #define abil defineeritud konstandid asendatakse nende väärtustega enne koodi kompileerimist, samas kui const muutujaid käsitleb kompilaator ise.
Teine oluline erinevus #define ja const vahel on see, et const muutujatel on kindel tüüp, samas kui konstantidel, mis on määratletud funktsiooniga #define, mitte. See tähendab, et saate const muutujaid kasutada kohtades, kus on vaja kindlat tüüpi, samas kui #define abil määratletud konstandid ei pruugi sellistes olukordades alati töötada.
Järeldus
Direktiiv #define on eelprotsessori direktiiv, mida kasutatakse konstantide või makrode määratlemiseks. See võimaldab meil määratleda sümboolsed nimed või väärtused, mis asendatakse kogu koodis enne tegelikku kompileerimisprotsessi. Lisateavet #define direktiivi kohta C++ keeles leiate sellest artiklist.