各种基本数据类型的长度
#include<iostream>#include<map>using namespace std;class MapSort{public: bool operator()(int size1,int size2){ return size1<size2; }};template<typename T>void print(T t){ typename T::const_iterator iter = t.begin(); while(iter!=t.end()){ cout << iter->second << iter->first << endl; iter++; }}int main(){ multimap<int,char*,MapSort> sizeMap; sizeMap.insert(pair<int,char*>(sizeof(unsigned char),"unsigned char:")); sizeMap.insert(pair<int,char*>(sizeof(char),"char:")); sizeMap.insert(pair<int,char*>(sizeof(unsigned short),"unsigned short:")); sizeMap.insert(pair<int,char*>(sizeof(short),"short:")); sizeMap.insert(pair<int,char*>(sizeof(unsigned int),"unsigned int:")); sizeMap.insert(pair<int,char*>(sizeof(int),"int:")); sizeMap.insert(pair<int,char*>(sizeof(float),"float:")); sizeMap.insert(pair<int,char*>(sizeof(double),"double:")); sizeMap.insert(pair<int,char*>(sizeof(unsigned long),"unsigned long:")); sizeMap.insert(pair<int,char*>(sizeof(long),"long:")); sizeMap.insert(pair<int,char*>(sizeof(long long),"long long:")); sizeMap.insert(pair<int,char*>(sizeof(string)," string:")); print(sizeMap);}gcc:unsigned char:1char:1unsigned short:2short:2unsigned int:4int:4float:4unsigned long:4long:4 string:4double:8long long:8vs2008,xp:unsigned char:1char:1unsigned short:2short:2unsigned int:4int:4float:4unsigned long:4long:4double:8long long:8 string:32