gpt4 book ai didi

c++ - 为什么允许跳过变量定义(使用 goto)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:22:16 26 4
gpt4 key购买 nike

<分区>

在使用 gotoswitch 语句时,我对变量定义感到困惑。以下代码被编译器接受:

goto label0;
int j; // skipped by "goto"

label0:
j = 3;

我的问题是:

  1. 由于int j; 的定义被跳过,程序将如何创建对象j 并随后在j = 3 中为其赋值> ?
  2. gotolabel 之间的代码是否已编译
  3. gotolabel 之间的代码是否执行? (在运行时)
  4. 变量定义发生在编译时(或更恰当的术语)还是运行时?

(我问这是一个新问题,更多地关注变量定义与编译和执行的相对顺序。)

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com