Шта је директива #дефине у Ц++-у

Sta Je Direktiva Define U C U



Претходна обрада у Ц++ се односи на почетну фазу компилације или превођења програма где се изворни програмски фајл модификује на основу директива препроцесора. Ове директиве, означене са # симбола, извршава их претпроцесор и утичу на изворни код пре него што се изврши главни програм.

Директиве препроцесора у Ц++ су означене са # (хеш) симбол на почетку изјаве. Уобичајене директиве препроцесора у Ц++ укључују укључивање датотеке и мацрос дефиниција. Ове директиве се обично постављају изван функције маин() на врху Ц++ програма. Током предобраде, међуфајл са проширење се генерише.

#дефине Директива у Ц++

У Ц++, #дефине директива је директива претпроцесора која се користи за дефинисање константи или макроа. Омогућава вам да дефинишете симболичка имена или вредности које се замењују у целом коду пре самог процеса компилације.







Ево неких од главних карактеристика #дефине предпроцесора



  • У Ц++, директива препроцесора #дефине се користи за дефинисање макроа.
  • Макрои у Ц++ су именоване константе или изрази декларисани са #дефине директивом.
  • #дефине директиве се такође називају Макро директивама.
  • Када се у Ц++ програму наиђе на директиву #дефине, име дефинисаног макроа се замењује константном вредношћу или изразом током почетне фазе компилације.

Синтакса директиве #дефине

Синтакса за коришћење директиве #дефине је следећа:



#дефине вредност идентификатора

Где је идентификатор име константе или макроа који се дефинише, а вредност је вредност којом треба да се замени када се код компајлира.





Пример директиве #дефине

Следи пример који објашњава како се директива #дефине може користити у Ц++ коду:

#инцлуде <иостреам>

#дефине ПИ 3.14159

#дефине СКУАРЕ(к) ((к) * (к))

инт главни ( ) {

дупло радијус = 5.0 ;

дупло области = ПИ * КВАДРАТ ( радијус ) ;

стд :: цоут << 'Област: ' << области << стд :: ендл ;

повратак 0 ;

}

У овом примеру дефинишемо две константе користећи #дефине директиву: ПИ, која представља математичку константу пи, и СКУАРЕ, што је макро који израчунава квадрат дате вредности. Затим користимо ове константе у нашем коду да израчунамо површину круга са датим радијусом.



Разлика између #дефине и цонст

Једно уобичајено питање које се поставља када се расправља о #дефине директиви је како се она разликује од коришћења цонст променљивих у Ц++. Иако вам оба приступа омогућавају да дефинишете константе које се могу користити у вашем коду, постоје неке кључне разлике између њих.

Једна велика разлика између #дефинисати и конст је да је #дефине директива препроцесора, док је цонст кључна реч која је део самог Ц++ језика. То значи да се константе дефинисане коришћењем #дефине замењују њиховим вредностима пре него што се код компајлира, док променљиве цонст рукује сам компајлер.

Још једна кључна разлика између #дефине и цонст је у томе што променљиве цонст имају специфичан тип, док константе дефинисане помоћу #дефине немају. То значи да можете користити цонст променљиве на местима где је потребан одређени тип, док константе дефинисане помоћу #дефине можда неће увек радити у тим ситуацијама.

Закључак

Директива #дефине је директива претпроцесора која се користи за дефинисање константи или макроа. Омогућава нам да дефинишемо симболичка имена или вредности које се замењују у целом коду пре самог процеса компилације. Прочитајте више о #дефине директиви у Ц++ у овом чланку.