goto语句引起的crosses initialization of XXX
1. 背景
goto语句虽然目前已经不提倡使用,但是用起来还是很方便,尤其是老代码中见的比较多。
在改动有goto语句的老代码时需要特别注意,是否跳过来资源的释放、有用变量的初始化等等。
很久之前写c程序时,有些提交系统要求变量必须在函数开始地方全部申明,最近遇到了"crosses initialization of XXX"知道为什么了。就是因为有可能跳过变量的声明。
2. 代码例子
例子1:
#include <iostream>
class Test{
public:
int a;
}; int main(){
Test t1;
std::cout << "ok" << std::endl;
goto _Lab1;
Test *t2 = new Test; //1
//Test t2; //
_Lab1:
std::cout << t2->a << std::endl; //1
//std::cout << t2.a << std::endl; //
return ;
}
从代码中也可以看出来,
(1) 在只打开第一种情况下,“goto _Lab1”跳过来t2变量的定义,导致t2没有初始化。编译报错。
aaarticlea/png;base64,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" alt="" />
(2) 在只打开第二种情况下,由于Test类没有显示构造函数,编译器会提供无参数的默认构造函数。编译正常。执行后t2.a 是随机的int值。
例子2:
#include <iostream>
class Test{
public:
Test(int _a):a(_a){}; //提供显示构造函数
int a;
}; int main(){
Test t1();
std::cout << "ok" << std::endl;
goto _Lab1;
Test t2(); //没有执行初始化
_Lab1:
std::cout << t2.a << std::endl;
return ;
}
Test类显示提供了带参数构造函数后,t2由于goto语句导致未初始化,编译失败。
goto语句引起的crosses initialization of XXX的更多相关文章
- crosses initialization of “XXX” 的问题
在switch-case中定义了变量,用g++编译的时候报错crosses initialization of “XXX” ,在网上一查,说是gcc要求变量的定义不能位于goto之后 将变量定义放在s ...
- oracle学习笔记(十六) PL/SQL 异常和goto语句
PL/SQL 异常和goto语句 异常 预定义异常 oracle常见预定义异常: 错误号 异常错误信息名称 说明 ORA-0001 DUP_VAL_ON_INDEX 试图破坏一个唯一性限制 ORA-0 ...
- 通过goto语句学习if...else、switch语句并简单优化
goto语句在C语言中实现的就是无条件跳转,第二章一上来就介绍goto语句就是要通过goto语句来更加清楚直观的了解控制结构. 我理解的goto语句其实跟switch语句有相似之处,都是进行跳转.不同 ...
- goto语句 switch语句
goto语句 #include <iostream> using namespace std; int main() { int i = 1; number: i++; std::cout ...
- 在程序中,你敢怎样使用“goto”语句!
用goto是一个个人爱好的问题.“我”的意见是,十个goto中有九个可以用相应的结构化结构来替换.在那些简单情形下,你可以完全替换掉goto,在复杂的情况下,十个中也有九个可以不用:你可以把部分代码写 ...
- 布尔逻辑运算,goto语句
布尔逻辑 bool类型可以有两个值:true或者false. 布尔比较需要使用布尔比较运算符(关系运算符),下图:var1为布尔类型的变量,var2,var3则可以是不同类型.
- Go 语言 goto 语句
Go 语言的 goto 语句可以无条件地转移到过程中指定的行. goto语句通常与条件语句配合使用.可用来实现条件转移, 构成循环,跳出循环体等功能. 但是,在结构化程序设计中一般不主张使用goto语 ...
- C语言 goto语句
/* goto语句 */ #include <stdio.h> #include <stdlib.h> #include <string.h> /* goto语句也 ...
- C语言goto语句的使用
不使用goto语句: 使用goto语句: 使用goto语句时需要注意以下原则:1) 不要过份地使用.比如图2中的60行就没有采用goto语句跳到程序的最后面,之所以这里不使用goto是为了阅读方便.因 ...
随机推荐
- Eclipse开发环境配置
1. java环境 安装 本系统使用java6开发,老师使用1.6.0 _45版本开发,如下图所示: "开发工具"目录提供了1.6.0 _45版本32位和64位两个安装程序,大家根 ...
- Range:HTML5中的新型Input类型
<div style="width:100%; height:100%; position:fixed; top:0; left:0; z-index:100000; backgrou ...
- 用strings命令查看kafka-log内容
kafka的log内容格式还不没怎么了解,想快速浏览消息内容的话,除了使用它自带的kafka-console-consumer.sh脚本,还可以直接去看log文件本身,不过内容里有部分二进制字符,通过 ...
- InterruptedException 异常
当一个方法后面声明可能会抛出InterruptedException 异常时,说明该方法是可能会花一点时间,但是可以取消的方法. 抛InterruptedException的代表方法有: 1. jav ...
- js数组合并为一个字符串
var arr=new Array("hello","word","java","eclipse","jsp& ...
- Iterator 接口
首先要从foreach说起,我们都知道对象,数组和对象可以被foreach语法遍历,数字和字符串却不行.其实除了数组和对象之外PHP内部还提供了一个 Iterator 接口,实现了Iterator接口 ...
- python 全栈开发,Day54(node.js初识)
一.什么是Node.js 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事 ...
- python 全栈开发,Day36(作业讲解(大文件下载以及进度条展示),socket的更多方法介绍,验证客户端链接的合法性hmac,socketserver)
先来回顾一下昨天的内容 黏包现象粘包现象的成因 : tcp协议的特点 面向流的 为了保证可靠传输 所以有很多优化的机制 无边界 所有在连接建立的基础上传递的数据之间没有界限 收发消息很有可能不完全相 ...
- 【noip模拟赛9】123法典
描述 很久很久以前,有个叫123的国家,这个国家的国王很喜欢颁布各种法令,并把这些法令记录在一部<123法典>中.最近这部法典终于被发掘了出来,专家们经过研究发现法典中的法令是按颁布的时间 ...
- 037 对于HIVE架构的理解
0.发展 在hive公布源代码之后 公司又公布了presto,这个比较快,是基于内存的. impala:3s处理1PB数据. 1.Hive 能做什么,与 MapReduce 相比优势在哪里 关于hi ...