在分支语句中调用close()安全吗?

加盾男爵 2017-09-04 01:21:19
有一个类继承自QDialog,他有个成员函数,这个成员函数决定是否需要关闭对象,代码长不多是这样

if(types == FS_FINISH_JOB)
close(); //这里直接关闭对象
else if(types == FS_EMPTY_DATA)
{
updateImageData();
return;
}
else
return;


对于这样一个函数,有可能在分支语句中直接关闭掉对象,但此时分支语句的其他判断还没有执行完成,就想上面的types == FS_EMPTY_DATA还没有进行判断,想这样在分支语句中直接关闭对象安全吗?
...全文
127 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
加盾男爵 2017-09-04
  • 打赏
  • 举报
回复
引用 1 楼 qqwangfan 的回复:
你不放心的话,可以直接在close();后面加多一条return语句,在运行完这个分支后直接就返回,这样他只要进入这个分支,就不会再判断其他分支了。
我的疑问就是这里,在close()后加一句return;那位于close()后面的return;会被执行么?
  • 打赏
  • 举报
回复
你不放心的话,可以直接在close();后面加多一条return语句,在运行完这个分支后直接就返回,这样他只要进入这个分支,就不会再判断其他分支了。

16,175

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧