各種基本データ型の長さ
2123 ワード
#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:1
char:1
unsigned short:2
short:2
unsigned int:4
int:4
float:4
unsigned long:4
long:4
string:4
double:8
long long:8
vs2008,xp:
unsigned char:1
char:1
unsigned short:2
short:2
unsigned int:4
int:4
float:4
unsigned long:4
long:4
double:8
long long:8
string:32