(c++)更长的算术运算符字符串
(C++) Longer Strings of Arithmetic Operators
所以我很清楚简化规则是为了简单性、空间等而桥接代码的。但是随着算术运算符字符串的增加,我们如何实现组合赋值运算符呢?
示例:将y*5
加入x
,存储在x
可以写成x = x + (y*5)
,压缩成x += (y*5)
。
我的问题是,你能更进一步,把它重写为x += y*5
吗?
或者类似于a -= b + 2
的东西等于a -= (b+2)
我正在计划一些空白的问题,在我继续之前,我想确认操作顺序是如何在c++中更详细地翻译的。由于
是的,你可以去掉所有的括号。
请看:http://en.cppreference.com/w/cpp/language/operator_precedence
您是否尝试运行代码?
#include <iostream>
int main()
{
int x = 10;
int y = 2;
x += y * 2;
std::cout << x << std::endl;
return 0;
}
明确给出了14
和
#include <iostream>
int main()
{
int x = 10;
int y = 2;
x += y * 2;
int x1 = 10;
x1 += (y * 2);
std::cout << (x == x1) << std::endl;
return 0;
}
生成1
,因此您可以重写。
相关文章:
- 我可以使用条件运算符初始化C风格的字符串文字吗
- 为什么字符串比较的 == 运算符相对于任一字符串长度线性时间(似乎)?
- 是否可以将带有字符串化运算符的宏转换为 constexpr?
- 在 c++ 中对字符串进行操作的关系运算符无法按预期工作
- Qt PL/SQL - 赋值运算符 - 字符串缓冲区太小
- 重载 std::字符串运算符+ 用于打印枚举名称
- <<运算符优先级与字符串比较
- C++ |<<运算符重载和打印字符串
- ">"运算符和"<"运算符如何进行字符串比较?
- 字符串数组上的 sizeof 运算符以 C++ 为单位给出不同的输出
- 重载加法运算符(使用函数向对象添加字符串)
- 使用短运算符的字符串连接有区别吗?
- 为什么在C++中使用关系运算符创建的模板函数不能对字符串正常工作?
- 使用 cout 运算符重载字符串
- 如何使用运算符>>在自定义字符串中输入多个单词?
- C++中的字符串类: +运算符中的错误?
- 在 c++ 中对字符串进行加号运算符
- 为什么sub_match和basic_string比较运算符使用额外的字符串副本实现?
- R 值重载运算符字符串赋值错误
- (c++)更长的算术运算符字符串