gpt4 book ai didi

c++ - 指向类的指针与指向内置类型的指针

转载 作者:行者123 更新时间:2023-11-28 00:02:49 25 4
gpt4 key购买 nike

声明后,指向 int 的指针不为 NULL,而指向 class 的指针为 NULL。

int *pint;
MyClass *Myob;
if (pint){
cout << "pint is not null";
}
if (!Myob){
cout << "Myob is null";
}

为什么指向内置类型的指针和指向类的指针的行为方式不同?

最佳答案

不,指向内置类型和类类型的指针具有不确定的值,将导致未定义的行为。在 C 或 C++ 中,如果您编写

int a;

int *b;
MyClass *c;

那么 a、b、c 将具有不确定的值(或垃圾值)。如果你想将它们初始化为 nullptr 那么你可以将它们声明为 static (不是一个好方法)或将它们显式初始化为 int a = 10int *b = nullptr

您应该始终将指针初始化为 NULLnullptr(如果您的编译器支持 C++11,则将 NULL 分配给指针是 deprecated )。

关于c++ - 指向类的指针与指向内置类型的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37638207/

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