Quick question, Manu. What are referring to when you say "uninitialized data"? Do you mean: int n = void; n++; //Undefined behaviour Struct S { int getVal() { return 1; } } S s = void; s.getVal(); //Undefined behaviour Or do you mean: int n; n++; S s; s.getVal();