Kas ir #define direktīva C++ valodā

Kas Ir Define Direktiva C Valoda



Iepriekšēja apstrāde programmā C++ attiecas uz programmas kompilācijas vai tulkošanas sākotnējo fāzi, kurā avota programmas fails tiek modificēts, pamatojoties uz priekšapstrādātāja direktīvām. Šīs direktīvas, kas apzīmētas ar # simbolu, izpilda priekšprocesors un ietekmē avota kodu pirms galvenās programmas izpildes.

Priekšapstrādātāja direktīvas C++ valodā ir apzīmētas ar # (jaukts) simbols paziņojuma sākumā. Kopējās priekšapstrādātāju direktīvas C++ ietver failu iekļaušana un makro definīcija. Šīs direktīvas parasti tiek novietotas ārpus galvenās () funkcijas C++ programmas augšpusē. Iepriekšējas apstrādes laikā starpfails ar .i tiek ģenerēts paplašinājums.

#define direktīvu C++ valodā

Programmā C++ #define direktīva ir priekšprocesora direktīva, ko izmanto, lai definētu konstantes vai makro. Tas ļauj definēt simboliskus nosaukumus vai vērtības, kas tiek aizstātas visā kodā pirms faktiskā kompilācijas procesa.







Šeit ir daži no #define priekšapstrādātāja galvenajiem elementiem



  • Programmā C++ makro definēšanai tiek izmantota priekšprocesora direktīva #define.
  • C++ makro ir nosauktas par konstantēm vai izteiksmēm, kas deklarētas ar direktīvu #define.
  • #define direktīvas tiek sauktas arī par makro direktīvām.
  • Ja C++ programmā tiek atrasta direktīva #define, sākotnējā kompilācijas posmā definētā makro nosaukums tiek aizstāts ar konstantu vērtību vai izteiksmi.

Direktīvas #define sintakse

#define direktīvas izmantošanas sintakse ir šāda:



#definējiet identifikatora vērtību

Kur identifikators ir definējamās konstantes vai makro nosaukums, bet vērtība ir vērtība, ar kuru tas jāaizstāj, kad kods tiek kompilēts.





#define direktīvas piemērs

Tālāk ir sniegts piemērs, kas izskaidro, kā #define direktīvu var izmantot C++ kodā:

#include

#define PI 3.14159

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

starpt galvenais ( ) {

dubultā rādiuss = 5.0 ;

dubultā apgabalā = PI * KVADRĀTS ( rādiuss ) ;

std :: cout << 'Apgabals:' << apgabalā << std :: endl ;

atgriezties 0 ;

}

Šajā piemērā mēs definējam divas konstantes, izmantojot direktīvu #define: PI, kas apzīmē matemātisko konstanti pi, un SQUARE, kas ir makro, kas aprēķina noteiktās vērtības kvadrātu. Pēc tam mēs izmantojam šīs konstantes savā kodā, lai aprēķinātu apļa laukumu ar noteiktu rādiusu.



Atšķirība starp #define un const

Viens izplatīts jautājums, kas rodas, apspriežot direktīvu #define, ir tas, kā tā atšķiras no const mainīgo izmantošanas programmā C++. Lai gan abas pieejas ļauj definēt konstantes, kuras var izmantot visā kodā, starp tām ir dažas galvenās atšķirības.

Viena būtiska atšķirība starp #definēt un konst ir tas, ka #define ir priekšprocesora direktīva, savukārt const ir atslēgvārds, kas ir daļa no pašas C++ valodas. Tas nozīmē, ka konstantes, kas definētas, izmantojot #define, tiek aizstātas ar to vērtībām pirms koda kompilēšanas, savukārt const mainīgos apstrādā pats kompilators.

Vēl viena būtiska atšķirība starp #define un const ir tā, ka mainīgajiem const ir noteikts tips, savukārt konstantēm, kas definētas, izmantojot #define, tāda nav. Tas nozīmē, ka jūs varat izmantot const mainīgos vietās, kur ir nepieciešams konkrēts tips, savukārt konstantes, kas definētas, izmantojot #define, ne vienmēr var darboties šajās situācijās.

Secinājums

#define direktīva ir priekšprocesora direktīva, ko izmanto, lai definētu konstantes vai makro. Tas ļauj mums definēt simboliskus nosaukumus vai vērtības, kas tiek aizstātas visā kodā pirms faktiskā kompilācijas procesa. Šajā rakstā lasiet vairāk par #define direktīvu programmā C++.