C++ Tutorial/Development/ifdef

Материал из C\C++ эксперт
Перейти к: навигация, поиск

define macro

#define DemoVersion
 #define PC 5
 #include <iostream>
 
 int main()
 {
     std::cout << "Checking on the definitions of DemoVersion,PC and MAC...\n";
 
 #ifdef DemoVersion
     std::cout << "DemoVersion defined.\n";
 #else // DemoVersion
     std::cout << "DemoVersion not defined.\n";
 #endif // DemoVersion
 
 #ifndef PC
     std::cout << "PC not defined!\n";
 #else // PC
     std::cout << "PC defined as: " << PC << std::endl;
 #endif // PC
 
 #ifdef MAC
     std::cout << "MAC defined!\n";
 #else // MAC
     std::cout << "MAC was not defined.\n";
 #endif // MAC
 
     std::cout << "Done.\n";
     return 0;
 }
Checking on the definitions of DemoVersion,PC and MAC...
DemoVersion defined.
PC defined as: 5
MAC was not defined.
Done.

Using #undef.

#define DemoVersion
#define DOS_VERSION 5
#include <iostream>
using namespace std;
int main()
{
#ifdef DemoVersion
   cout << "DemoVersion defined.\n";
#else
   cout << "DemoVersion not defined.\n";
#endif
#ifndef DOS_VERSION
   cout << "DOS_VERSION not defined!\n";
#else
   cout << "DOS_VERSION defined as: " << DOS_VERSION << endl;
#endif
#ifdef WINDOWS_VERSION
   cout << "WINDOWS_VERSION defined!\n";
#else
   cout << "WINDOWS_VERSION was not defined.\n";
#endif
#undef DOS_VERSION
#ifdef DemoVersion
   cout << "DemoVersion defined.\n";
#else
   cout << "DemoVersion not defined.\n";
#endif
#ifndef DOS_VERSION
   cout << "DOS_VERSION not defined!\n";
#else
   cout << "DOS_VERSION defined as: " << DOS_VERSION << endl;
#endif
#ifndef WINDOWS_VERSION
   cout << "WINDOWS_VERSION defined!\n";
#else
   cout << "WINDOWS_VERSION was not defined.\n";
#endif
 cout << "Done.\n";
 return 0;
}