我想确保我正在正确地创建/销毁这个对象......
这是我的 Camera 对象的定义,其中包含对 Vector 对象的引用:
#ifndef CAMERA_H
#define CAMERA_H
#include "vector.h"
class Camera {
private:
Vector* location;
Vector* direction;
float velocity;
public:
Camera();
~Camera();
};
#endif
在构造函数中创建:
#include "camera.h"
Camera::Camera() {
location = new Vector(1.0, 1.0, 1.0);
direction = new Vector(1.0, 1.0, 1.0);
velocity = 0.0;
}
Camera::~Camera() {
delete location;
delete direction;
}
然后,每当我想要一个相机对象时,我只需调用Camera camera
.
我是否正确假设当变量
camera
超出范围时,将调用析构函数并且我不会遭受任何内存泄漏?如果我想
camera
在范围关闭之前删除变量,执行是否正确delete camera
?