首页 > 解决方案 > 如果这样做的范围和评估是什么

问题描述

在清理我在网上找到的一些代码时,我遇到了这个奇怪的 c++ 行:

if (int i = 1) std::cout << i;

使用 LLVM,它编译得很好,控制台输出是1,但是在这里如何处理范围,i变量不应该只能在条件内(括号内)访问吗?那怎么可能被评估为真,赋值不是一个空操作并且没有值,所以0 /假?这条线是怎么回事?

标签: c++

解决方案


推荐阅读