C++/Development/macro
Версия от 17:21, 25 мая 2010; (обсуждение)
Printing values in DEBUG mode.
<source lang="cpp">
- 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;
}
</source>
Using #define.
<source lang="cpp">
- 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;
}
</source>