FANDOM


#define Edit

A #define direktívával makróhelyettesítéseket végezhetünk a fordítóval.

#define makrónév karaktersorozat

A define lehetőséget ad argumentumokkal rendelkező makrók definiálására.

 #define ABS(a) ((a<0) ? -(a) : (a))

#error Edit

Az #error direktívával a fordítás felfüggesztésére kényszeríthetjük a fordítót. Ahogy a fordító ezzel a direktívával találkozik, abbahagyja a fordítást.

 #error üzenet

A fordítás megállításakor az üzenet és a #error-t tartalmazó sor száma jelenik meg a képernyőn.

#pragma Edit

Impelementáció függő direktíva, amely különböző instrukciók közvetítését teszi lehetővé a fordítóhoz.

A # és a ## prepocesszor operátorok Edit

# operátorEdit

A # operátorral garantálhatjuk, hogy a mögötte található argumentumba idézőjelek közé zárt string kerüljön:

 #define mkstr(s) #s
 
 int main()
 {
  cout << mkstr(Tetszik a C++);
  return 0;
 }

Az előfeldolgozó:

cout << mkstr(Tetszik a C++);

sort

cout << "Tetszik a C++";

sorral helyettesíti.

## operátorEdit

A ## operátorral két alapszimbólumot konkatenálhatunk össze.

 #define concat(a, b) a##b
 
 int main()
 {
  int xy=10;
  cout << concat(x, y);
  return 0;
 }

A prepocesszor a sort

cout << xy;

sorrá alakítja.