首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

goto语句的安全性有关问题

2012-02-08 
goto语句的安全性问题考虑这样一种情况:classAvoidf(){...for(...){Aa...goto__end...}...__end:...}此

goto语句的安全性问题
考虑这样一种情况:

class   A;

void   f()
{
...
for   (...)
{
A   a;
...
goto   __end;
...
}
...
__end:
...
}

此时a是否能保证被正确析构??上述中不一定是for语句,可以是其它的语句段,总之a是函数f内的一个语句段的局部对象。
我想知道的不是编译器所表现的结果,而是想知道C++从语法上有没有保证该操作的安全性??


[解决办法]
mark,等待高手來解決
[解决办法]
goto 不能跨越函数/方法,
所以不会有这个问题。
[解决办法]
会调用析构函数,这也就是goto的功能
C语言有底层实现跳转,c++是在些基础上实现的goto

具体可以参考Thinking in C++ 第二卷 Tic2Vtwo

大家一起努力学习提高...
[解决办法]
goto 是支持的,
建议是慎重使用,不是不能使用。
[解决办法]
适当使用还是可以提高效率的,也不能一棍子打死。
[解决办法]
对象生存期是从对象定义开始到它所属}结束。
只要出这个范围,就要析构。
goto,编译器会确保它满足这个规定。

热点排行