c++ - C++ 中后增量的后增量
问题描述
如果我在 C++ 中使用嵌套增量运算符,例如
int a = 1;
int b = (a++)++;
它给出了编译时错误:
error: lvalue required as increment operand
但是,如果我写
int a = 1;
int b = ++(++a);
的新值b
变为 3。
这是什么原因?
解决方案
(a++)
返回一个旧值为 的临时右值a
。右值没有可用的后增量运算符。
推荐阅读
- elasticsearch - Filebeat 的 GCP 模块不断收到哈希配置错误
- python - 根据python中csv文件中的一些内容重命名csv文件
- node.js - 未找到模块:导入 nodejieba 以做出反应时无法解析“aws-sdk”
- angular - 在 Liferay 的 Angular 项目中使用 Angular cookie pacjage
- javascript - React - 在使用效果中设置状态时超出最大更新深度
- c# - 如何将普通字符串转换为等效的十六进制字节数组?
- python-3.x - 我们如何用源代码打包 pip 和 conda 依赖项?
- gantt-chart - 在 gantt_task_content 内的 dhtmlx 甘特图中,我如何添加自定义 div
- python - pip安装后没有名为pandas的模块,Visual Studios
- reactjs - 如何在没有“IntrinsicAttributes & HTMLAttributes”的情况下使用 React 和 Typescript 将 html 属性传递给子元素
错误”?