64,648
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <string>
using namespace std;
float c;
float& test(float,float);
void main(int argc,char* argv[])
{
float &pn=test(3.0f,1.2f);
cout<<pn;
cin.get();
}
float &test(float a,float b)
{
c=a*b;
return c;
}
#pragma pack( 1 )
class No_Ref
{
public:
int a;
No_Ref():a(0){}
};
class Ref
{
public:
int a;
int & c;
Ref():a(0),c(a){}
};
#pragma pack
int main()
{
cout<<"类No_Ref大小:"<<sizeof(No_Ref)<<endl;
cout<<"类Ref大小:"<<sizeof(Ref)<<endl;
cout<<"引用变量占用的内存:"<<sizeof(Ref)-sizeof(No_Ref)<<endl;
}
int main()
{
int i;
int j;
int k;
int &ref = i;
int t;
cout<<&i<<" "<<&j<<" "<<&k<<" "<<&t<<endl;
//若ref不占用内存,则i,j,k,t,的地址差应该相同
cout<<"&i-&j="<<sizeof(int)*(&i-&j)
<<" &j-&k="<<sizeof(int)*(&j-&k)
<<" &k-&t="<<sizeof(int)*(&k-&t)<<endl;
cout<<"引用变量占用的内存:"<<sizeof(int)*(&k-&t)-sizeof(int)*(&j-&k)<<endl;
return 0;
}