Class sizes of C++

back

following tables are results of sizeof().

Win32

VC2003 - VC2013 debug/release
char1
unsigned char1
short2
unsigned short2
int4
unsigned int4
long4
unsigned long4
float4
double8
wchar_t2
VC2003 debugVC2008 debugVC2010 debugVC2012, VC2013 debugVC2003 releaseVC2008 releaseVC2010 releaseVC2012, VC2013 release
std::string2832322828282824
std::wstring2832322828282824
std::valarray<int>121288121288
std::vector<int>1620201616241612
std::list<int>122416121228128
std::set<int>122820121232168
std::map<int, int>122820121232168
std::pair<int, int>88888888
std::tuple<int>44
std::function<void(void)>24242424
std::iostream646496104646496104
std::wiostream646496104646496104

x64

VC2008 - VC2013 release/debugg++ 4.4.7 4.7.2
char11
unsigned char11
short22
unsigned short22
int44
unsigned int44
long48
unsigned long48
float44
double88
wchar_t24
VC2008 debugVC2010 debugVC2012, VC2013 debugVC2008 releaseVC2010 releaseVC2012, VC2013 release
std::string484840404032
std::wstring484840404032
std::valarray<int>241616241616
std::vector<int>404032483224
std::list<int>483224562416
std::set<int>564024643216
std::map<int, int>564024643216
std::pair<int, int>888888
std::tuple<int>  4  4
std::function<void(void)> 3232 3232
std::iostream120120128120120128
std::wiostream120120128120120128
g++ 4.4.7 4.7.2
std::string8
std::wstring8
std::valarray<int>16
std::vector<int>24
std::list<int>16
std::set<int>48
std::map<int, int>48
std::pair<int, int>8
std::tuple<int>4
std::function<void(void)>32
std::iostream288
std::wiostream288
間違っていたら教えてください。