このオブジェクトを適切に作成/破棄していることを確認したい...
これは、Vector オブジェクトへの参照を含む Camera オブジェクトの定義です。
#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
ですか?