gpt4 book ai didi

c++ - 检查 C++ 中的指针定义

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:52:35 26 4
gpt4 key购买 nike

如何检查 C++ 中是否定义了变量,特别是指针?假设我有一个类:

class MyClass {  
public:

MyClass();

~MyClass() {
delete pointer; // if defined!
}

initializePointer() {
pointer = new OtherClass();
}

private:

OtherClass* pointer;

};

最佳答案

为什么要担心检查指针值?只需将其初始化为空指针值,然后对其调用 delete 即可。在空指针上删除什么都不做(标准保证它)。

class MyClass {  
public:

MyClass():pointer(0) { }

~MyClass() {
delete pointer;
pointer = 0;
}

initializePointer() {
pointer = new OtherClass();
}

private:

OtherClass* pointer;

};

并且每次对其调用 delete 时,都应将指针设置为空指针值。那你就没事了。

关于c++ - 检查 C++ 中的指针定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/381718/

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