精华内容
下载资源
问答
  • C++ goto的用法.pdf

    2021-09-14 10:40:22
    C++ goto的用法.pdf
  • C++goto语句用法

    2020-05-10 11:09:01
    C++goto语句用法 目录 C++goto语句用法 1、goto语句 2、代码演示 1、goto语句 goto语句又叫跳转语句,可以跳转到标志语句,执行下面操作; goto 标记; A 标记: B A语句不执行,执行B语句 2、代码演示 ...

    C++goto语句用法

    目录

    C++goto语句用法

    1、goto语句

    2、代码演示


    1、goto语句

    goto语句又叫跳转语句,可以跳转到标志语句,执行下面操作;

    goto 标记;

    A

    标记:

    B

    A语句不执行,执行B语句

    2、代码演示

    #include<iostream>
    using namespace std;
    
    int main() {
    
    	//goto语句
    	cout << "1" << endl;
    	cout << "2" << endl;
    	goto flag;//flag是标记
    	cout << "3" << endl;
    	cout << "4" << endl;
    	flag:
    	cout << "5" << endl;
    	system("pause");
    	return 0;
    }

    1
    2
    5
    请按任意键继续. . .

     

     

    展开全文
  • C++ goto 编译出错问题

    千次阅读 2017-12-21 15:38:06
    C++ goto 编译出错 error: jump to label ‘discard_packet’ [-fpermissive] ××××××× goto discard_packet; ×××××××× crosses initialization of ‘cv::Mat ppp’

    C++ goto 编译出错问题

    今天编译解码程序的时候,报如下错误:

    error: jump to label ‘discard_packet’ [-fpermissive]   ×××××××  goto discard_packet;   ××××××××   crosses initialization of ‘cv::Mat ppp’

    这是因为goto语句的问题,在linux C++里使用goto语句有时候会出现这个问题(反正我是偶尔碰到这个问题,有时候没问题,有时候出错)
    出现这个问题是因为在 goto 语句之后有新定义的变量:cv::Mat ppp;, 要避免这个问题,则需要将定义放在goto语句之前,如

    cv::Mat img;
    goto:
    img = ........
    展开全文
  • C++ goto语句详解

    万次阅读 多人点赞 2018-10-18 21:28:17
    在我看来,C++中让人又爱又恨的,莫过于goto语句了,它功能强大,简答易懂,但是使用多了,容易造成程序诸多问题,今天就带大家来了解一下吧。 目录 一、概念 二、两种观点 三、使用建议 四、个人对待goto观点 ...

    在我看来,C++中让人又爱又恨的,莫过于goto语句了,它功能强大,简答易懂,但是使用多了,容易造成程序诸多问题,今天就带大家来了解一下吧。


    目录

    一、概念

    二、两种观点

    三、使用建议

    四、个人对待goto观点

    五、应用举例

    1、代码

    2、运行结果


    一、概念

    goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。举个例子:

    
    label: i++;
    goto label;
    
    
    loop: while(x<7);
    goto loop;

    二、两种观点

    为什么说对goto语句又爱又恨呢?历史上,对待goto语句,有两种不同意见,一种意见认为goto语句能够使程序更加灵活,而且能够解决很多问题。一种意见认为GOTO语句使程序的静态结构和动态结构不一致,从而使程序难以理解,难以查错。

    在60年代末和70年代初,关于GOTO语句的用法的争论比较激烈。直到1974年,D·E·克努斯对于GOTO语句争论作了全面公正的评述,其基本观点是:不加限制地使用GOTO语句,特别是使用往回跳的GOTO语句,会使程序结构难于理解,在这种情形,应尽量避免使用GOTO语句。但在另外一些情况下,为了提高程序的效率,同时又不至于破坏程序的良好结构,有控制地使用一些GOTO语句也是必要的。用他的话来说就是:“在有些情形,我主张删掉GOTO语句;在另外一些情形,则主张引进GOTO语句。”从此,使这场长达10年之久的争论得以平息。

    后来,G·加科皮尼和C·波姆从理论上证明了:任何程序都可以用顺序、分支和重复结构表示出来。这个结论表明,从高级程序语言中去掉GOTO语句并不影响高级程序语言的编程能力,而且编写的程序的结构更加清晰。

    三、使用建议

    这个建议不代表专家意见,不代表官方说明,只是我个人在使用过程中的一些感悟。可能写的并不全面,希望大家有所补充。

    1、尽可能少的采用goto语句;

    2、大型软件或者企业软件尽量不要使用goto语句,采用顺序、分支及重复结构表示;

    3、同一块代码中,尽量使用不超过两个goto语句。如果goto语句效果比较好,建议使用一次。其他要用到goto语句的地方用其他方式实现。

    4、在跳出多重循环中,可以使用goto语句,避免重复使用break。

    四、个人对待goto观点

    我感觉C++之所以如此优越,一直处于高处不胜寒的霸主地位,就是因为太全面,C++以后的很多语言,为了简化C++,去掉了指针,去掉了goto语句,确实使编程语句简单了,程序更容易看。但是java,C#等编程语言也是失去了很多C++的优越性。goto语句是C++的一部分,如何使用goto语句是一个程序员的习惯问题,和指针一样。代码出bug,不是goto本身的问题,而是程序员们,在阅读编写代码过程中逻辑出错了。限制使用goto语句,方便后需完善,以及其他同行阅读。并不是说goto语句怎么样,而是作为编程的我们,应该认识到自身的不足,是因为我们对逻辑没有搞明白,为了保证程序不出错,限制使用goto,从而防止出错。不要把我们自身的不足怪到一个语句头上,只有认识到自身问题,我们才能更好提升

    五、应用举例

    1、代码

    #include<iostream>
    using namespace std;
    
    void main() {
    	int i = 1;
    	int sum = 0;
    	loop: if (i<10)
    	{
    		sum += i;
    		i++;
    		goto loop;
    	}
    	cout <<"i = "<< i << endl;
    	cout << "sum = " << sum << endl;
    }

    2、运行结果

     

    展开全文
  • C++goto跳转语句

    2020-09-01 11:26:31
    作用:标记跳转 语法: goto 标记名; 标记名:

    作用:标记跳转

    语法:

    goto 标记名;

    标记名:

    展开全文
  • C++ goto 编译报错

    2019-05-28 00:38:36
    不要在goto后定义变量直接赋初值 void fun() { goto err; int value = 0; // 错误在这里 err: ... } 改为: void fun() { goto err; int value; value = 0; err: ... } ...
  • C++ goto使用例子

    2017-03-19 22:13:09
    int main() {  int i = 1; number: //设置标号  if (i > 10)  return 0;  i++;  cout  i  " ";  goto number; //跳转到number }   
  • C++ goto的用法

    千次阅读 2018-05-02 17:16:04
    比如第一次的number2,和number3goto后的代码不会被调用例子:下面的printf("n=8 end\n"); 不会被执行: printf("n=8 start\n"); ...
  • c++ goto后不允许声明

    2018-02-25 14:43:11
    goto: discard_packet;int ...discard_packet: av_packet_unref(&amp;pkt);这样书写会有错误,c++要求,goto后不能有声明。goto error: jump to label ‘b’ [-fpermissive]
  • c/c++ goto 语句

    千次阅读 2014-05-21 16:25:52
    goto语句 goto语句的发展历程  问题起源:  60年代中期以后,计算机硬件技术日益进步,计算的存贮容量、运算速度和可靠性明显提高,生产硬件的成本不断降低。计算机价格的下跌为它的广泛应用创造了极好的...
  • C++ goto语句的理解与应用

    千次阅读 2013-05-10 17:17:00
    1:为何不提倡使用goto语句? 渊源(来自wikipedia): GOTO是一条可以在许多计算机编程语言中找到的语句。它是英文单词go和to的组合。当执行这条语句的时候,它将控制流程无条件地转到另一条语句(也叫"跳转")...
  • ☆ C/C++ Goto语句的使用

    千次阅读 2018-10-18 23:21:15
    Goto语句有时候会觉得使用起来很方便,但是似乎我们的使用频度却不怎么高, 下面来简单介绍一下Goto语句的用法:   ****************************************************************************************...
  • 自从学习了C++语法以后,就知道有goto这个功能,但是前辈都说不要使用。今天在处理一个exception时,发现这个goto还是很有用的,因为当时的代码结构很清晰:若遇到exception 就goto到指定的函数尾端,清理掉已经申请...
  • java中类似c++ goto功能---------label简介

    千次阅读 2013-07-25 18:12:40
    懂得c++的朋友都知道goto这个关键字吧,这个关键字让我们可以在程序中比较灵活地跳转;当然都不推荐使用他,但是他也有他特定的用途,比如跳出多重循环的时候就特别有用,直接上代码: public class Main { /**...
  • c++关键字goto

    千次阅读 2019-02-12 10:32:34
    还记得上c++的课老师说不要随意使用goto,原则上尽量避免使用goto。 理论上可以证明,用顺序,条件,循环可以解决所有问题,所以尽量不要用goto语句! 大量使用goto使程序结构混乱,大型程序后期维护性较差。 要是...
  • C++goto

    2017-05-06 20:20:28
    1 goto code: result:
  • c++代替goto语句的方法

    2019-05-07 17:49:10
    c++代替goto语句 C++代码有时可以采用goto语句但运行风险很高,goto语句可以用函数嵌套调用来代替 type fuc() { fucstart: code; while() () { while() { //if() //goto fucstart; //函数嵌套 fuc(); } } } ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,580
精华内容 19,032
关键字:

c++goto

c++ 订阅