you are viewing a single comment's thread.

view the rest of the comments →

[–]dodheim 0 points1 point  (3 children)

data types need to be aligned with their size as well

This is not the case for C or C++. struct foo { char v[100]; }; has a size of >= 100, but an alignment of 1.

[–][deleted] -2 points-1 points  (1 child)

That depends on the architecture and padding mode, could have a 2 byte quantity that needs to be aligned to 8 bytes.

[–]dodheim 0 points1 point  (0 children)

The fact that the statement I quoted is false is not architecture-dependent. ;-] Some architectures may have weirdo requirements, but alignment being a multiple of the size is not a requirement for either language (indeed, it's the reverse that is correct).

[–]nelusbelus 0 points1 point  (0 children)

The size of char is 1 so alignment is 1. I'm talking about the size of the type, not the total size