【发布时间】:2015-12-17 09:58:56
【问题描述】:
我对我制作的自定义类有疑问。最初的意图是创建一个粒子发射器,在这个发射器中有两个向量来保存颜色和粒子本身。
问题正是试图破坏这个自定义类,如果你不调用析构函数,它会完美运行,这显然很糟糕。
我已将其简化为一个非常简短的可编译示例。
测试.h
#include <vector>
class Test{
public:
Test();
~Test();
protected:
std::vector<int> Ints;
};
还有main.cpp:
#include "Test.h"
int main(int argc, char **argv){
Test* t;
delete[] t;
return 0;
}
在实现文件中只是空的构造函数和析构函数。
需要注意的是,这只发生在“测试”是指针时,最好避免。
如有需要,将提供更多信息。提前致谢。
【问题讨论】:
标签: class pointers c++11 vector