This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: why is this result ?
- From: Andrew Haley <aph at redhat dot com>
- To: horseriver <horserivers at gmail dot com>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Fri, 18 Jan 2013 13:46:22 +0000
- Subject: Re: why is this result ?
- References: <20130118035015.GA3430@debian.localdomain>
On 01/18/2013 03:50 AM, horseriver wrote:
> hi:
> I am doing a test for c++;
>
> here is my code:
>
> #include <stdio.h>
> class A
> {};
>
> class B
> {
> public:
> B(){};
> ~B(){};
> };
>
> int main()
> {
>
> printf("size of A is %d \n",sizeof(A));
> //printf("size of B is %d \n",sizeof(B));
> }
>
> output is "size of A is 1 " ,I can not understand this result ,
> there is no data in class A ,why here its size is 1?
Because it's not possible to have an object with nonzero size. The
address of every object must be unique, so they have to be separated by
one byte anyway.
Andrew.