我有一个指向多态对象的指针 Base* base_ptr
。是否可以找出所述对象的动态类型的大小?
AFAIK,sizeof(*base_ptr)
产生 base_ptr
静态类型的大小。我开始怀疑这是不可能的,但也许我忽略了一些东西。
注意:我知道我可以向我的类型层次结构添加一个虚函数来返回大小,但这不是我的理想解决方案。
编辑:sizeof(base_ptr)
-> sizeof(*base_ptr)
最佳答案
不,您不能在 C++ 中这样做 - 至少以可移植的方式。最好的办法是在每个类中实现 getSize()
成员函数。
关于c++ - 找出多态对象的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8122763/