Could somebody explain why b = 150 ?
#define CUBE(X) ((X) * (X) * (X))
using namespace std;
int main( void )
{
    int a = 3,b = 0;  
    cout << "before "<< endl;
    cout << "a = " << a;
    cout << endl;
    cout << "b = " << b;
    cout << endl;
    cout << "after"<< endl;
    b = CUBE( ++a );
    cout << "a = " << a;
    cout << endl;
    cout << "b = " << b;
    getchar();
    return 0;
}
 
     
     
     
     
    