如何在 c++ 中将运算符捆绑在一起
How are bunched together operators in c++ separated
In C++,
is
(a+++b)
processed as
((a++) + b)
or
(a + (++b))
这在标准中在哪里澄清?
这个问题的第一部分有很多答案,但具体问题"在标准中在哪里澄清"在其他地方没有得到非常清楚的回答。
对于那些感兴趣的人,它在2.4.3 2003 C++标准(ISO/IEC 14882)中处于2.4.3
"如果输入流已被解析为预处理令牌,直到给定字符,则下一个预处理token 是可以构成预处理令牌的最长字符序列,即使这会导致进一步的词汇分析失败。
这是a++ +b
,因为分词器很贪婪,会尽可能匹配++
。
相关文章:
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 为什么C++逐位AND运算符在不同大小的操作数中表现为这样
- 如何使用运算符在同一行中多次调用函数
- 将图形属性与 std::unique_ptr 捆绑在一起
- 使用运算符"="在C++中用值初始化对象
- 让某个类的 '=' 运算符在声明时运行构造函数
- 模板转换运算符在 clang 6 和 clang 7 之间的区别
- 你能在 c++ 中将不同的数字类型加在一起吗?
- 三元运算符在返回语句中给出意外的结果
- 如何将两个字符串加在一起,就好像它们是变量一样?
- std::string == 运算符在代码中不起作用
- 用户定义的文本运算符(在原始模式下)存在问题
- 是否允许三元运算符在C++中计算两个操作数?
- 当返回语句时,逗号运算符、大括号初始化列表和 std::unique_ptr 组合在一起
- 重载 - 运算符在 C++ 中
- 逗号运算符在对齐方式中
- 短路运算符在enable_if
- 在C++中,我们如何将插入运算符和其他运算符链接在一起
- 如何在 c++ 中将运算符捆绑在一起
- 在对象上重载 sum 运算符时,无法可靠地将两个 int 数组加在一起?