c++ - C++ 中的 switch 语句

标签 c++ switch-statement c++17

下面两个switch语句的代码片段有什么区别?

哪个更好?我什么时候可以同时使用它们?

案例 1:

int i = 10;
switch(i)
{
//case
}

案例 2:

switch(int i = 10, i)
{
//case
}

在第二种情况下,C++17 允许在 switch 语句中初始化变量。

最佳答案

在第一个版本中,i 存在于 switch 的范围结束之后。如果您稍后需要 i,您可以使用它。如果您的编译器了解 C++17,则可以使用第二个版本。

关于c++ - C++ 中的 switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43487024/

相关文章:

c++ - 编译器在这里生成的汇编代码中的寻址模式是什么?

javascript - "cannot find -ljscore"当我尝试构建 Qt 4.7.1 静态库时

javascript - 在 JavaScript switch 语句中假设严格比较是否安全?

git - 使用 tortoisegit 切换分支

c++ - 属性 "deprecated"到 C++17 中的命名空间

c++ - C++ 有安全的导航运算符吗?

c++ - 在 C++ 中处理指针数组并删除它们

c# - 具有 boolean 值的开关盒的奇怪行为

c++ - 如何让map.emplace在c++17中自动选择构造函数?

c++ - 无法根据隐式构造的参数推导模板参数