相关疑难解决方法(0)

将一元运算符联合起来是否有意义?

来自http://en.cppreference.com/w/cpp/language/operator_precedence的C++运算符优先级表(我知道它不是规范性的,但标准不讨论优先级或关联性)将一元运算符标记为右/左关联.

从对不同问题的讨论中,我怀疑.将一元运算符联合起来是否有意义?

c++ operators unary-operator associativity

15
推荐指数
1
解决办法
4830
查看次数

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

iter++->empty()法律表达吗?

iteriterator的一个vectorstring

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

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

编辑

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

iter++->empty() 应该是一样的 (*iter++).empty()

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

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

那是对的吗?

c++ post-increment

1
推荐指数
1
解决办法
174
查看次数