社区
C++ 语言
帖子详情
goto不能跳过抽象数据类型
buleideli
2008-03-25 06:34:03
//example1
if(.......)
goto END;
.....
int a;
.....
END: ;
这个OK
//example1
if(.......)
goto END;
.....
myClass a;//myClass 一个类
.....
END: ;
有错
、、、、、、、、、、、、、、、、、、、、、、、、、、、
怎么回事
...全文
120
17
打赏
收藏
goto不能跳过抽象数据类型
//example1 if(.......) goto END; ..... int a; ..... END: ; 这个OK //example1 if(.......) goto END; ..... myClass a;//myClass 一个类 ..... END: ; 有错 、、、、、、、、、、、、、、、、、、、、、、、、、、、 怎么回事
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
silendream
2008-03-27
打赏
举报
回复
学习~~
疯石头
2008-03-27
打赏
举报
回复
//example1
if(.......)
goto END;
{
.....
myClass a;//myClass 一个类
.....
}
END: ;
linfengc
2008-03-26
打赏
举报
回复
[Quote=引用 5 楼 sun3411 的回复:]
怎么我的不出问题呢 VC6sp6.
[/Quote]
VC6很sb的,你一个for(int i = 0;;)
再来个for(int i = 0;;)
就报重定义。
作用域不很清晰
taodm
2008-03-26
打赏
举报
回复
楼主,你需要看《重构》一书,带跳出的深度循环是应该禁止的行为。
Supper_Jerry
2008-03-26
打赏
举报
回复
goto资源释放的时候很需要!!
yichuankun
2008-03-26
打赏
举报
回复
我觉得适当的使用还是可以的,大家不要一棍子打死,goto本身没错,错的是那些乱用的人
spark603
2008-03-26
打赏
举报
回复
都说不应该用:goto, 这原因倒底是什么.
工作中,我也想用,但怕被骂.
buleideli
2008-03-26
打赏
举报
回复
哦,exception不是异常处理吗,跳出深度循环用它??有例子吗?
学习。。。。。
谢谢大家
arong1234
2008-03-25
打赏
举报
回复
深度循环也是应该避免得,现代软件工程需要你用子函数实现。如果要跳出多重循环,应该考虑exception
buleideli
2008-03-25
打赏
举报
回复
有时要用咯,特别是跳出深度循环
arong1234
2008-03-25
打赏
举报
回复
大家不是都知道不应该用goto么:)关心这个干嘛?
buleideli
2008-03-25
打赏
举报
回复
cunsh 说得没错,谢谢大家!!!!!!!
记得函数作用域就是这样的,这作用域只与goto有关
sun3411
2008-03-25
打赏
举报
回复
怎么我的不出问题呢 VC6sp6.
ttkk_2007
2008-03-25
打赏
举报
回复
像这种定义,你都要加上{},将它放在一个块里,switch case也一样
cunsh
2008-03-25
打赏
举报
回复
if(.......)
goto END;
.....
myClass a; .....
END: ;
//这里要调用 a 的构造函数. 如果被goto过去的话构造函数就不能调用了. 假如你在 END 之后又使用 a 的话那就是使用未初始化的对象了.
//所以编译器阻止了它. 类似的还有 switch 的 case 也会出现这种问题.
//如果你这里的 a 只在 END 之前使用可以用下边的办法:
if(.......)
goto END;
.....
{ //放到一个块中.
myClass a; .....
}
END: ;
yichuankun
2008-03-25
打赏
举报
回复
不好意思,我搞错了,是不能,呵呵。关注
yichuankun
2008-03-25
打赏
举报
回复
你用的是什么编译器啊?我在VC上可以啊
你必须知道的495个C语言问题
2.4 在C语言中用什么方法实现
抽象数据类型
最好? *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 2.6 为什么声明externf(structx*p);给我报了一个晦涩难懂的警告信息? 2.7 我遇到这样声明...
《你必须知道的495个C语言问题》
2.4 在C语言中用什么方法实现
抽象数据类型
最好? 22 *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 22 2.6 为什么声明extern f(struct x *p); 给我报了一个晦涩难懂的警告信息? 23 2.7 我...
Java基础篇1——变量与数据类型
ReJava-变量与数据类型 1、标识符命名规则 标识符以由大小写字母、数字、下划线(_)和美元符号($)组成,但是
不能
以数字开头。 大小写敏感
不能
与Java语言的关键字重名
不能
和Java类库的类名重名
不能
有空格、@、#、+...
C++数据类型
第3章C++数据类型第3章C++数据类型 本章将概括介绍 C++中预定义的内置的、或基本的数据类型。本章将以文字常量(literalconstant)开始,如 3.14159 和“pi”,然后介绍符号变量(symbolic variable)或者对象(object)的...
面向对象程序设计-数据抽象和继承
分支和循环可以用
goto
语句来实现,单纯的分支和循环组合起来
不能
直接实现的控制也可以用
goto
语句来实现。
goto
语句具有更强的控制力。
goto
语句的控制能力虽然很强,但是我们也不推荐使用。因为用
goto
语句的程序不是...
C++ 语言
64,677
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章