假设我有一个类
class Foo {
:
:
}
我还有一个功能
void getf( Foo &f) {
:
:
std::cout<<sizeof f<<std::endl;
}
我处理完数据,给f(foo成员中包含的vector)赋值了很多数据后,需要f对象的大小
但是,正如我上面所做的那样,我总是得到 16,这是这里引用的大小。
我做错了什么吗?如何做到这一点?
谢谢!
最佳答案
sizeof
返回类型的大小。通常,在 Vector
的情况下,类型的大小不一定包括该类型可能指向的所有内容的累积大小。例如,类型:
class Foo {
char* chars
}
...无论 chars
指向单个字节还是指向 40Kb 字符串,都会显示相同 sizeof 结果。
关于c++ - 如何通过引用获取对象的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3477788/