gpt4 book ai didi

c++ - 有没有办法告诉 C++ 中指针实际指向什么类型

转载 作者:太空狗 更新时间:2023-10-29 23:46:04 25 4
gpt4 key购买 nike

在 C++ 中,您可以将指针声明为一种类型,然后将其指向另一种继承类型。有什么方法可以判断您当前指向的是哪个?

#include <typeinfo>
using namespace std;

class Foo
{
};

class Bar : public Foo
{
};

int main()
{
Bar bar;
Foo* foo = &bar;
bool I_WANT_THIS_TO_BE_TRUE = (typeid(*foo) == typeid(Bar));
return 0;
}

最佳答案

这会失败,因为您没有在 Foo 中声明任何虚函数。例如,将其更改为具有虚拟析构函数,您将获得希望的结果。

关于c++ - 有没有办法告诉 C++ 中指针实际指向什么类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14091127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com