#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;
}
【面试题】sizeof 获取自定义类,结构体,vector,map,string的占内存大小
最新推荐文章于 2022-03-24 21:30:38 发布