【面试题】sizeof 获取自定义类,结构体,vector,地图,string的占内存大小
【面试题】sizeof 获取自定义类,结构体,vector,map,string的占内存大小
#include <iostream> #include <vector> #include <map> #include <string> using namespace std; struct a { short aa;//2 short b;//2 short c;//2 };//6 struct b { char x;//1 char y;//1 char z;//1 short q;//2 };//6 class c { private: int a;//4 char b;//1 short x;//2 public: c(); ~c(); void print(); virtual void function(); };//12 class d : public c { private: char *pData; public: d(); ~d(); virtual void otherfunction(); };//16 void main() { cout << sizeof(a)<<endl; cout << sizeof(b) <<endl; cout << sizeof(c) <<endl; cout << sizeof(d) <<endl; vector<int> v_int;//20 vector<double> v_double;//20 vector<a> v_a;//20 cout << sizeof(v_int) <<endl; cout << sizeof(v_double) <<endl; cout << sizeof(v_a) <<endl; string str;//32 cout << sizeof(str)<<endl; map<string,int> m_string;//28 cout << sizeof(m_string) <<endl; map<int,int> m_int;//28 cout << sizeof(m_int) <<endl; }