Hi all,
I have the following code:
#include<iostream>
#include<stdint.h>
using namespace std;
template<int childcount>
class ChildList {
public:
ChildList() {
}
int8_t symbol[childcount];
int32_t index [childcount];
};
int main() {
ChildList<2> i;
// (4*2)+(1*2) = 10
cout<< sizeof(ChildList<2>);
}
The class contains 2 chars and two 32bit ints (which should total 10 bytes).
However sizeof prints 12 on my system (g++ 4.5.1 64bit).
What's using the other 2bytes? Is it an alignment thing? Is there a way to remove this?
My apologies if this is a stupid question.
If there's a good reference for this I'd be interested too.
Many Thanks,
Nav