C++/Development/macro

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

Printing values in DEBUG mode.

  
#include <iostream>
using namespace std;
#define DEBUG
#ifndef DEBUG
#define PRINT(x)
#else
#define PRINT(x) \
   cout << #x << ":\t" << x << endl;
#endif
enum BOOL { FALSE, TRUE } ;
int main()
{
   int x = 5;
   long y = 73898l;
   PRINT(x);
   for (int i = 0; i < x; i++)
   {
      PRINT(i);
   }
   PRINT (y);
   PRINT("Hi.");
   int *px = &x;
   PRINT(px);
   PRINT (*px);
   return 0;
}


Using #define.

  
#define DemoVersion
#define DOS_VERSION 5
#include <iostream>
using namespace std;
int main()
{
cout << "Checking on the definitions of DemoVersion, DOS_VERSION and WINDOWS_VERSION...\n";
#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
 cout << "Done.\n";
 return 0;
}