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