我有一个程序,我正在使用以下代码在屏幕上绘制一些图像。
ImageViewer : Image {
public:
ImageViewer(string path){
}
void drawImage(){
Image::draw(widthHeight);
}
private:
Rectangle widthHeight;
}
现在,在我的主程序中,我以以下方式使用图像查看器-
string imgP = "someImage.png";
ImageViewer *imgV = new ImageViewer(imgP);
在按键时,我必须更改图像路径,所以我执行以下操作:
imgV = new ImageViewer(newImagePath);
我的应用程序运行良好,但有时会停止在屏幕上显示图像,我一直在试图找出原因。我想问的一件事是关于指针
当我为指针分配 anew ImageViewer(newImagePath)
时imgV
,前一个imgV
值去哪里了?(它是自毁还是我应该手动做?)
我不确定我是否正在获取graggae值或类似的东西,因为图像可能不会出现,但只是想检查这是否也是一个可能的原因。(仍在检查图像内部绘图和其他功能的内部实现)