gpt4 book ai didi

c++ - iter++->empty() 是一个合法的表达式吗?

转载 作者:行者123 更新时间:2023-11-30 01:20:09 24 4
gpt4 key购买 nike

iter++->empty() 是合法的表达式吗?

iterstringvectoriterator

我问是因为考虑到运算符的优先级 ->() 应该在后缀增量之前,但我真的不知道操作数应该如何分组。

在我的编译器上它可以工作(表达式为第一个字符串产生 empty() 结果并且 iter 指向第二个字符串)但我仍然想知道是否这是未定义的行为。

编辑

我刚刚找到了解决方案(我认为):

iter++->empty() 应与 (*i​​ter++).empty()

相同

因此考虑到关联性和优先级规则,分组应该是:

(((*(iter++)).empty) ())

对吗?

最佳答案

这是合法的,但不要这样做。

问自己这个问题足以将其分解为两个陈述:

iter->empty();
iter++;

关于c++ - iter++->empty() 是一个合法的表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19765623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com