C++/Development/macro
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;
}