Preprocessor directives

An example of some preprocessor stuff:

#include <iostream>
#define __thing__ " amazing "
#define __func__(x,y) ((x)>(y)?(x):(y))
#define _FAT_
#define _Cars_
using namespace std;
int main()
{
     cout << "Hello world!"<< __thing__ <<endl;
     cout<<__func__(11,10)<<endl;
     //because we are not passing variables everything is groovy
    int g=70,f=90;
    cout<<__func__(g,f)<<endl;
    #ifdef _FAT_
        cout<<"FAT"<<endl;
    #else
        cout<<"notfat"<<endl;
    #endif

    #ifndef _Cars_
        cout<<"Cars not defined"<<endl;
    #else
        cout<<"Cars defined"<<endl;
    #endif
    cout<<__LINE__<<endl;
    cout<<__LINE__<<endl;
    cout<<__LINE__<<endl;
    cout<<__FILE__<<endl;
    cout<<__DATE__<<endl;
    cout<<__TIME__<<endl;
    cout<<__STDC__<<endl;
    cout<<__cplusplus<<endl;
    return 0;
}

Leave a Reply