C++ Tutorial/Development/ifdef

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

define macro

<source lang="cpp">#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;
}</source>
Checking on the definitions of DemoVersion,PC and MAC...
DemoVersion defined.
PC defined as: 5
MAC was not defined.
Done.

Using #undef.

<source lang="cpp">#define DemoVersion

  1. define DOS_VERSION 5
  2. include <iostream>

using namespace std; int main() {

  1. ifdef DemoVersion
  cout << "DemoVersion defined.\n";
  1. else
  cout << "DemoVersion not defined.\n";
  1. endif
  2. ifndef DOS_VERSION
  cout << "DOS_VERSION not defined!\n";
  1. else
  cout << "DOS_VERSION defined as: " << DOS_VERSION << endl;
  1. endif
  2. ifdef WINDOWS_VERSION
  cout << "WINDOWS_VERSION defined!\n";
  1. else
  cout << "WINDOWS_VERSION was not defined.\n";
  1. endif
  2. undef DOS_VERSION
  3. ifdef DemoVersion
  cout << "DemoVersion defined.\n";
  1. else
  cout << "DemoVersion not defined.\n";
  1. endif
  2. ifndef DOS_VERSION
  cout << "DOS_VERSION not defined!\n";
  1. else
  cout << "DOS_VERSION defined as: " << DOS_VERSION << endl;
  1. endif
  2. ifndef WINDOWS_VERSION
  cout << "WINDOWS_VERSION defined!\n";
  1. else
  cout << "WINDOWS_VERSION was not defined.\n";
  1. endif
cout << "Done.\n";
return 0;

}</source>