Директиве препроцесора у Ц++ су означене са # (хеш) симбол на почетку изјаве. Уобичајене директиве препроцесора у Ц++ укључују укључивање датотеке и мацрос дефиниција. Ове директиве се обично постављају изван функције маин() на врху Ц++ програма. Током предобраде, међуфајл са .и проширење се генерише.
#дефине Директива у Ц++
У Ц++, #дефине директива је директива претпроцесора која се користи за дефинисање константи или макроа. Омогућава вам да дефинишете симболичка имена или вредности које се замењују у целом коду пре самог процеса компилације.
Ево неких од главних карактеристика #дефине предпроцесора
- У Ц++, директива препроцесора #дефине се користи за дефинисање макроа.
- Макрои у Ц++ су именоване константе или изрази декларисани са #дефине директивом.
- #дефине директиве се такође називају Макро директивама.
- Када се у Ц++ програму наиђе на директиву #дефине, име дефинисаног макроа се замењује константном вредношћу или изразом током почетне фазе компилације.
Синтакса директиве #дефине
Синтакса за коришћење директиве #дефине је следећа:
#дефине вредност идентификатора
Где је идентификатор име константе или макроа који се дефинише, а вредност је вредност којом треба да се замени када се код компајлира.
Пример директиве #дефине
Следи пример који објашњава како се директива #дефине може користити у Ц++ коду:
#инцлуде <иостреам>#дефине ПИ 3.14159
#дефине СКУАРЕ(к) ((к) * (к))
инт главни ( ) {
дупло радијус = 5.0 ;
дупло области = ПИ * КВАДРАТ ( радијус ) ;
стд :: цоут << 'Област: ' << области << стд :: ендл ;
повратак 0 ;
}
У овом примеру дефинишемо две константе користећи #дефине директиву: ПИ, која представља математичку константу пи, и СКУАРЕ, што је макро који израчунава квадрат дате вредности. Затим користимо ове константе у нашем коду да израчунамо површину круга са датим радијусом.
Разлика између #дефине и цонст
Једно уобичајено питање које се поставља када се расправља о #дефине директиви је како се она разликује од коришћења цонст променљивих у Ц++. Иако вам оба приступа омогућавају да дефинишете константе које се могу користити у вашем коду, постоје неке кључне разлике између њих.
Једна велика разлика између #дефинисати и конст је да је #дефине директива препроцесора, док је цонст кључна реч која је део самог Ц++ језика. То значи да се константе дефинисане коришћењем #дефине замењују њиховим вредностима пре него што се код компајлира, док променљиве цонст рукује сам компајлер.
Још једна кључна разлика између #дефине и цонст је у томе што променљиве цонст имају специфичан тип, док константе дефинисане помоћу #дефине немају. То значи да можете користити цонст променљиве на местима где је потребан одређени тип, док константе дефинисане помоћу #дефине можда неће увек радити у тим ситуацијама.
Закључак
Директива #дефине је директива претпроцесора која се користи за дефинисање константи или макроа. Омогућава нам да дефинишемо симболичка имена или вредности које се замењују у целом коду пре самог процеса компилације. Прочитајте више о #дефине директиви у Ц++ у овом чланку.