社区
C++ 语言
帖子详情
菜鸟问:在C++中使用goto语句到底有什么弊端?
gkd_0000
2006-07-06 01:53:13
我试着写了一些程序,其中使用了goto语句,并没有觉得使用goto语句有什么不好,
(当然,这些程序都是比较简单.) 为什么书上说要避免使用goto语句.可否举出一些例子说明使用goto语句的弊端.
...全文
454
17
打赏
收藏
菜鸟问:在C++中使用goto语句到底有什么弊端?
我试着写了一些程序,其中使用了goto语句,并没有觉得使用goto语句有什么不好, (当然,这些程序都是比较简单.) 为什么书上说要避免使用goto语句.可否举出一些例子说明使用goto语句的弊端.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gkd_0000
2006-07-07
打赏
举报
回复
TO:bing_huo(我是一个演员!)
"程序执行流不清晰,debug和维护成本高",
我是初学者,不明白这句话的意思,可否解释一下,谢谢!
LuoMuFeng
2006-07-07
打赏
举报
回复
致 xxyyboy(第一号伤心人):
如果初始化被goto语句跳过,是会引起编译错误的。这一点不用担心会有隐患。
gkd_0000
2006-07-07
打赏
举报
回复
这个问题还需要自己以后去体会,谢谢大家给了我宝贵的意见和启发,只是分太少,还望不要见怪
gkd_0000
2006-07-07
打赏
举报
回复
这个问题还需要自己以后去体会,谢谢大家给了我宝贵的意见和启发,只是分太少,还望不要见怪
Oversense
2006-07-07
打赏
举报
回复
goto 挺好,只要自己不迷糊
我啃
2006-07-07
打赏
举报
回复
goto 的使用对于程序的可读性降低很多,不容易看懂,不容易看清!
但是低级的内核级别的东西使用是家常便饭,因为要很好地控制程序流以及跳出复杂的嵌套循环,看了经典的unix内核的printf()就知道了
lddLinan
2006-07-07
打赏
举报
回复
这么说吧,如果你的代码release后就一直保持close状态,不需要扩展维护。那么你随便用什么都可以,甚至部分使用汇编。但是如果你的代码需要扩展,需要不断的改动,那你应该尽量使自己的代码清晰易懂,这样负责维护的人(可能就是你自己)的负担回轻很多。
个人觉得goto这样的跳转语句是语言发展的中间产物,他应该继续被包装起来,不知道以后会不会出现break(n),continue(n)...这样的语法
powersuite
2006-07-06
打赏
举报
回复
少用,但不是禁用
用的巧处,程序自然简洁
fdimim
2006-07-06
打赏
举报
回复
你试试写个大点的循环多点的程序,把所有能用goto替换的地方,全用goto,通过放大,来体会下。
KenYuan2016
2006-07-06
打赏
举报
回复
goto 语句.只是用的不好会带来很多问题。
最大的优点是可以从一堆欠套的循环中一下子跳出来。不必想那么多的条件欠套.
缺点是 在goto语句里面的东西,如果被跳过,可能初始化就被跳过了,导致出现程序bug却很难找到.
用goto语句前后看清楚就ok了。
zhgwbzhd
2006-07-06
打赏
举报
回复
goto对于初学者来说,使用不好就会出问题。
对于经验比较丰富者,当然会使用。
就像在学校老师都会说你要把程序写的简单点,容易理解。
实际上我看过好多程序,他们故意写进了很多垃圾代码,就是为了增加别人的阅读困难和反编译困难。
这个东西初学最好别轻易使用,真枪真刀的练时,恐怕就要用上了。
klkkklkl
2006-07-06
打赏
举报
回复
自己去试下就知道 别听别人胡说 包括那个谁
lbing7
2006-07-06
打赏
举报
回复
TCPL里面只在跳出多层循环里面建议使用,其它地方最好不用:
for ()
{
for ()
{
if () goto L..;//直接跳出
}
}
L:...
lbing7
2006-07-06
打赏
举报
回复
TCPL里面只在跳出多层循环里面建议使用,其它地方最好不用:
for ()
{
for ()
{
if () goto L..;//直接跳出
}
}
L:...
LuoMuFeng
2006-07-06
打赏
举报
回复
上面的“别人”要改为“别用”。
不得不再说一次,CSDN不能修改帖子,真是太不方便了。
LuoMuFeng
2006-07-06
打赏
举报
回复
没什么弊端利端,该用的时候就用,不该用的时候就别人。
我觉得讨论这样的问题实在是没有意义。
bing_huo
2006-07-06
打赏
举报
回复
程序执行流不清晰,debug和维护成本高,并且goto实现的功能基本都能用循环或条件语句实现
C++
编程:入门阶段
关键字不能用于标识符的命名,命名
中
也不能出现特殊符号,只能出现英文字母、数字和下划线,且第一个字符只能是字母或下划线,同时区分字母的大小写。变量的作用:给一段指定的内存空间取名,方便读取这段内存。sizeof语法:sizeof(数据类型/变量名);数据类型的作用:给变量分配大小合适的内存空间。sizeof作用:获取数据类型所占内存。常量的作用:记录程序
中
不可更改的数据。1.3 定义变量与常量。若修改常量则会报错。
JAVA技术面试题
一、 Java基础部分 第一天 1、 一个".java"源文件
中
是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。 2、 Java有没有goto? java
中
的保留字,现在没有在java
中
使用
。 3、 说说&和&&的区别。 &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表
菜鸟
初学教程
一个***的基本技能 1、***的精神态度是很重要的,但技术则更是重要。***的态度虽然是无可取代,随著新科技的发明和旧技术的取代,这些工具随时间在慢慢的改变。例如:以往总是会学会用机器码写程序,直到最近我们开始
使用
HTML。不过,在1996年末,当然,这是基...
自己做的c语言笔记大部分来自runoob,不是原创只是记录
自学c语言 自己跟着
菜鸟
学的,所以大部分都是
菜鸟
有的,这个只是记录下而已,不是原创 c简介 理论知识 C 语言是一种通用的高级语言,且面对过程 **意外:**当今最流行的 Linux 操作系统和 RDBMS(Relational Database Management System:关系数据库管理系统) MySQL 都是
使用
C 语言编写的。语言是为了编写 UNIX 操作系统而被发明的 C11(也被称为C1X)指ISO标准ISO/IEC 9899:2011,是当前最新的C语言标准。在它之前的C语言标准为
ActionScript
菜鸟
教程
第1章 揭开ActionScript的神秘面纱ActionScript是Flash内置的编程语言,用它为动画编程,可以实现各种动画特效、对影片的良好控制、强大的人机交互以及与网络服务器的交互功能。 ActionScript是一门吸收了
C++
、Java以及JavaScript等编程语言部分特点的新的语言。ActionScrip
使用
英文单词和元件提供了一种为Flash影片设置指令的方法。它的存在确
C++ 语言
65,210
社区成员
250,518
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章