对象在内存中是怎样存储的?
对象在内存中是怎样存储的? 请大侠们讲讲,谢谢
[CODE]#include<iostream>
using namespace std;
void show_bytes(char*, int);
template <class T>
void show_object(const T);
class test
{
int a;
int b;
public:
test(int m=9,int n=10){ a = m; b = n; }
};
int main()
{
test x;
cout<<"object in memory\n";
show_object(x);
system("pause");
return 0;
}
void show_bytes(char*p, int n)
{
ios_base::fmtflags old = cout.setf(ios_base::hex, ios_base::basefield);
cout.setf(ios_base::uppercase);
//hexadecimal format
for(int i=0; i<n; i++)
cout<<int(p[i])<<' ';
cout<<endl;
cout.setf(old,ios_base::basefield);
//restore format
}
template <class T>
void show_object(const T n)
{
show_bytes((char*)&n, sizeof(n));
}[/CODE]
这个例子可以说明一些问题