Dan*_*rch 0 c++ memory free memory-leaks
所以我在C++中编写了一些矩阵类.所以每个矩阵都有一个指向一个名为entries的数组的指针,我不确定我是否正确这样做但是我在子类中重新声明了数组.(我不是C++专家)
这个记忆是否需要免费?我只是用引用的数组覆盖指针吗?任何帮助将不胜感激.谢谢
class Matrix {
protected:
float* entries;
public:
int rows;
int cols;
Matrix() {
}
~Matrix() {
}
};
class Matrix4x4 : public Matrix {
protected:
float entry[4][4];
public:
/* This will create an empty matrix */
Matrix4x4() {
//Define the size of the arrays
rows = 4;
cols = 4;
this->empty();
}
...
};
Run Code Online (Sandbox Code Playgroud)
代码不会泄漏内存而且不可能这样做,因为你从不在代码中说new或malloc在任何地方*,也没有以无人看守的方式调用函数(即在RAII对象之外).
但是,代码也相当无用的,误导的(例如,Matrix4x4::entry被隐藏的遗迹Matrix::entry,并rows和columns似乎有些多余变量),而只能通过坐下来与一个很好的C++的书了几个小时来解决.
*)或正如@Nicol Bolas所指出的那样,make_shared以及丢失的循环引用
| 归档时间: |
|
| 查看次数: |
349 次 |
| 最近记录: |