hey i am getting size of empty struct 1.
check my code
#include<iostream>
#include<conio.h>
using namespace std;
struct empty{};
int main()
{
empty e;
int x=sizeof(e);
cout<<x;
getch();
return 0;
}
when i run this i get "1" as output
On Jul 6, 10:16 pm, Ashish Modi <[email protected]> wrote:
> @piyush:
> No,one can declare the variable of empty struct and access its address via
> pointer. So, when you are accessing address via pointer means some memory is
> allocated for that variable. But *sizeof()* operator returns *zero*?? why???
>
>
>
>
>
>
>
>
>
> On Wed, Jul 6, 2011 at 10:38 PM, T3rminal <[email protected]> wrote:
> > @ashish
> > Most probably because empty struct in C have nothing associated with it.
> > They are as good as nothing. But empty classes in C++ can have member
> > functions. These functions need to be associated with object, having a
> > unique address, for that class. And unique address is not possible with
> > class of size 0 as already explained above.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Algorithm Geeks" group.
> > To view this discussion on the web visit
> >https://groups.google.com/d/msg/algogeeks/-/XP8yGGz2YbEJ.
>
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> >http://groups.google.com/group/algogeeks?hl=en.
>
> --
> With Regards
> Ashish Modi
> 9423721478
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.