c_cpp 检查类指针是否为空
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 检查类指针是否为空相关的知识,希望对你有一定的参考价值。
#include <iostream>
//null pointer example
//base class
class Base
{
private:
int type;
Base* next;
Base* prev;
public:
~Base()
{
delete next;
delete prev;
}
int getType()
{
return type;
}
void setType(int t)
{
type = t;
}
//gets the next element
Base* getNext()
{
return next;
}
//is null method
bool nextIsNull()
{
return next == NULL;
}
};
class IntObj: public Base
{
public:
long value;
//constructor with init list
IntObj(long val): value(val)
{
setType(3);
}
long getValue()
{
return value;
}
void setValue(long value)
{
value = value;
}
};
int main() {
Base* b = new IntObj(8);
std::cout << b->getType() << "\n";
//static cast needed for down casting
IntObj* i = static_cast<IntObj*>(b);
//or a reinterpret_cast
IntObj* j = reinterpret_cast<IntObj*>(b);
j->setValue(999);
std::cout << j->nextIsNull() << "\n";
delete j;
}
以上是关于c_cpp 检查类指针是否为空的主要内容,如果未能解决你的问题,请参考以下文章
检查指针是不是为空,然后在同一个 if 语句中取消引用它是不是安全?
c_cpp 检查/断言类是否具有给定签名的方法。
c_cpp 给出链表,使得每个节点包含一个附加的随机指针,该指针可以指向列表中的任何节点或为空。返回
是否可以将对象设置为空?
cppcheck 空指针取消引用:m_buffer - 否则检查它是不是为空是多余的
java中判断对象中某个属性是否为空