c++ - iter++->empty() 和 ++iter->empty() 有什么区别?
问题描述
假设 iter 是一个vector<string>::iterator
.
- 我知道这
++iter->empty()
是非法的,ISO C++17 不允许增加 bool 类型的表达式,表示等++iter->empty()
于++(iter->empty())
. - 基于(1),为什么
iter++->empty()
不等于(iter->empty())++
or((*iter).empty())++
,而是等于(*iter++).empty()
?非常感谢!
解决方案
推荐阅读
- javascript - 无法在javascript反应中更改警报消息的颜色
- python - VSCode 默认解释器被 WSL2 覆盖
- objective-c - segue 后无法与视图控制器交互
- sql - Redshift 中的“max”(带双引号的最大值)
- gdal - PROJ:proj_create:错误 1027(参数值无效)
- c++ - 如何在cmake中链接第三方库
- plaid - 带有帐户过滤器的 LinkToken - 信用卡/信用卡 - 不起作用
- api - grpc._channel._InactiveRpcError: _InactiveRpcError 的 RPC 终止于:status = StatusCode.INTERNAL
- c#-4.0 - 组件属性不支持复杂内容(混合 C# 和标记)错误消息
- jquery - 多个 NSPersistentContainer,同一个存储