Hi, I Wonder whether the 'sizeof ' operator works at compile time or run time. I understand the C++ objet model stores the non-static data members as part of the object.When a Object is created its size is determined by using the sizeof operator. For ex: Class1 *obj = new Class1; is approximately equal to (excluding constructor calling) Class1 *obj = (Class1)malloc(sizeof(Class1)); The memory is allocated comfortably.Fine. I also read that when there is a addition of a member in the class (Class1) the client code which instantiates the object (previous code piece for ex) must be recompiled.If the sizeof operator finds the size of Class1 at run-time it could get the correct modified size of the Class.Why it is not implemented like that? Thanks, Suresh.