1
5
更简单的例子:
这个常量也必须初始化,为此
回答您的其他问题:如果
C++没有随机性
|
2
6
您缺少了一些东西——这是完全合法的代码,事实上,这种代码是条件运算符最常见和最好的用法之一。如果认为编译器必须在内部按代码在页面上的布局顺序执行操作,那总是一个错误——可以完全自由地计算条件运算符(这只是另一个表达式),然后使用结果执行初始化。 对于goto,在初始化时无法使用。如果抛出了一个异常,那么首先就认为从未创建过引用。 |
3
3
不幸的是,在初始化期间可以做一些有趣的事情。你也可以写
或者是为了这个问题
我想当编译器从左到右进行时,a确实在右边的作用域中,所以 技术上 您应该能够使用它,最多它可以警告: “comeautest.c”,第9行:警告:在设置变量值之前使用变量“a”
当然,这只能导致未定义的行为,就像使用任何未初始化的变量一样。 您的示例很好,因为在初始化引用之前不使用它。 |
4
2
从语言律师的角度来看,这是错误的。初始化期间,
如果初始化中的代码导致错误情况,
|
5
2
这是完全合法的。要么成功完成,引用绑定到有效对象,要么抛出异常,并将控制权转移到块之外,引用不再在作用域内,因此没有人再关心它了。 |
6
0
一个例外会把你带到一个地方,那里的refstr是不可接近的,你不能去一个地方,它是从那里。如果goto是一个函数,它将无法退出checkCondition(),如果它是一个宏,则无法使用goto。longjmp()的效果与异常相同:您将去一个refstr不可访问的地方。 |
Kris · 有没有办法获得可变结构字段的“引用” 2 年前 |
Jora Karyan · IF语句未按预期引发错误 2 年前 |
nedzad · 如何访问引用Firebase中其他对象的对象 6 年前 |
Empha · 从成员函数对对象所做的更改不会持续。范围/参考问题? 6 年前 |