| Thread overview |
|---|
March 22, 2014 sizeof struct no less than 1? | ||||
|---|---|---|---|---|
| ||||
Hello,
Consider an 'empty' struct as follows:
struct Test {}
When printing it's size, it's always 1.
void main()
{
writeln(Test.sizeof);
}
Output:
1
Why is it not 0? What about struct Test is consuming 1 byte of memory?
Thanks,
Mike
| ||||
March 22, 2014 Re: sizeof struct no less than 1? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Mike | On Saturday, 22 March 2014 at 02:27:02 UTC, Mike wrote: > Hello, > > Consider an 'empty' struct as follows: > > struct Test {} > > When printing it's size, it's always 1. > void main() > { > writeln(Test.sizeof); > } > > Output: > 1 > > Why is it not 0? What about struct Test is consuming 1 byte of memory? > > Thanks, > Mike Looks like this answers my question: http://forum.dlang.org/post/l03oqc$mpq$1@digitalmars.com | |||
March 22, 2014 Re: sizeof struct no less than 1? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Mike | C++ exhibits the same behaviour for what is most likely the same reason: so that empty structs can be allocated without two distinct objects having the same memory address ( http://stackoverflow.com/questions/2362097/why-is-the-size-of-an-empty-class-in-c-not-zero ) | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply