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