Hi Tamas Marki,
I agreed for your explanation. But , consider a code for copy
constructor or assignment operator overloading methods. Those will be provided
irrespective of whether we create objects or not. Am I correct? If so , in side
the code , the implementation wil be with "this" pointer itself na! .. Even
if we think like the assignment for this pointer will be done by creation of
object(passing &obj as hidden parameter and catching this address into this
pointer and using it , ) even in this xcase also .. some memory will be
occupied for formal parameters and that included the size of this pointer also
na!
Please correct me where I missed the track!
Thanks&Regards,
Gopi.k
Tamas Marki <[EMAIL PROTECTED]> wrote:
On 5/8/07, Gopi Krishna Komanduri <[EMAIL PROTECTED]> wrote:
> Hi,
> I know that size of empty class is 1 byte. But when we write a class compiler
> will provide , default constructor , default destructor , copy constructor
> (shallow) , and one assignment operator overloading functions whether the
> class is empty or not. So , in copy constructor , and in assigment operator
> methods , the implementation wil use "this" pointer. So the empty class
> should have one hidden this pointer. and when we create object , the this
> pointer will start pointing to the current object. So the size of empty class
> shuld be atleast size of a pinter (2 bytes , but depends on compiler). Could
> you please clarify!
A pointer might be 2 bytes on your compiler (something tells me it's
Turbo C++), but on modern systems it is 4 or 8 bytes.
However, the size of the pointer is irrelevant in this case: the class
does not have a pointer to itself, because you supply the this pointer
implicitly when you call a member of an object.
The size of the empty class is one bytes because the pointer needs to
point somewhere, and if it would be 0 then one pointer could point to
multiple instances which is not good.
I hope it's more clear now.
--
Tamas Marki
GopiKrishna Komanduri
Software engineer
Covansys,
Chennai,
9884965748.
[EMAIL PROTECTED]
---------------------------------
Ahhh...imagining that irresistible "new car" smell?
Check outnew cars at Yahoo! Autos.
[Non-text portions of this message have been removed]