我在一个类的指针中有一个数据成员。另外,我有一个setter函数来动态分配此指针,例如,出于动态数组的目的。在设置新值之前,我需要删除此指针以避免内存泄漏。我不知道如何检查该指针是否已初始化,以便如果未初始化该指针,则无需在设置新值之前删除该指针的内存。
最佳答案
您有两个选择。首先,您可以手动完成所有操作,然后在构造函数中将其设置为nullptr
。然后,在分配新内存之前,您可以检查它是否为nullptr
,如果不是,则将其删除。我建议使用的是智能指针,例如std::unique_ptr
。每次需要将其设置为新指针时,都可以对其调用reset
,而不必担心内存泄漏。如果有的话,它将确保删除以前分配的内存。
关于c++ - 如何检查C++类中作为数据成员的指针是否已初始化?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40225497/