c++ - 如果这样做的范围和评估是什么
问题描述
在清理我在网上找到的一些代码时,我遇到了这个奇怪的 c++ 行:
if (int i = 1) std::cout << i;
使用 LLVM,它编译得很好,控制台输出是1
,但是在这里如何处理范围,i
变量不应该只能在条件内(括号内)访问吗?那怎么可能被评估为真,赋值不是一个空操作并且没有值,所以0 /假?这条线是怎么回事?
解决方案
推荐阅读
- ios - 无法获取购物清单
- wordpress - 在 Wordpress 中从最近的帖子显示到最旧的帖子
- html - AngularJS输入元素焦点
- javascript - React Native App:时间格式转换:从 as (2018-10-09T06:20:33.628Z) 到 Epoch 时间戳
- python - 我需要创建第三方烧瓶休息 api,其中应该保护 api 免受外部访问,而无需用户登录凭据
- javascript - JS减少返回[object Object]
- jsf - f:ajax 标签执行整个表单而不是给定元素
- ios - 如何将具有关系的核心数据导出到 CSV
- react-native - 在 React-Native 当 Android 设备通过 USB 电缆断开连接时。表现出奇怪的行为
- android - OKHTTP 网络套接字库不工作?