通过同一类创建的对象,其常数据成员使用相同的地址
这句话是对的还是错的啊?
求解答(/ω\)
正确的!
C++中,常数据成员被视为类的一部分,而不是对象的一部分。无论创建多少个对象,它们都共享同一个常数据成员的内存地址,这种共享地址的特点就是不需要为每个对象都分配单独的存储空间,当然同一个地址不代表每个对象都必须使用一个常数据值,可以拥有自己的常数据值。
希望能帮到你,加油~~~
对的,因为常量数据成员在对象初始化后就不能被修改,因此它们存储在静态存储位置中,你自己试一下就知道了。
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
bool testdemo()
{
int aa = 22;
int * mm = &aa;
int &bb = aa;
cout << "指针mm值为" << mm << endl;
cout << "测试指针自增值为" <<++mm << endl;
cout << "测试引用自增" << ++(bb)<<endl;
return false;
}
int _tmain(int argc, _TCHAR* argv[])
{
testdemo();
system("pause");
return 0;
}
运行结果:
可以看出 指针的话 是内存地址进下一位 而且还能看出 一个int类型 占了4字节,但是有点怪了 为啥 都2019年了 还要考虑 内存大小,问就是严谨。