当前位置:嗨网首页>书籍在线阅读

11-组合赋值运算符

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

5.1.9 组合赋值运算符

程序清单5.5使用了下面的表达式来更新循环计数:

i = i + by

C++有一种合并了加法和赋值操作的运算符,能够更简洁地完成这种任务:

i += by

+=运算符将两个操作数相加,并将结果赋给左边的操作数。这意味着左边的操作数必须能够被赋值,如变量、数组元素、结构成员或通过对指针解除引用来标识的数据:

int k = 5;
k += 3;                 // ok, k set to 8
int *pa = new int[10];  // pa points to pa[0]
pa[4] = 12;
pa[4] += 6;             // ok, pa[4] set to 18
*(pa + 4) += 7;         // ok, pa[4] set to 25
pa += 2;                // ok, pa points to the former pa[2]
34 += 10;               // quite wrong

每个算术运算符都有其对应的组合赋值运算符,表5.1对它们进行了总结。其中每个运算符的工作方式都和+=相似。因此,下面的语句将k与10相乘,再将结果赋给k:

k *= 10;
表5.1 组合赋值运算符

| 操 作 符 | 作用(L为左操作数,R为右操作数) | | :----- | :----- | :----- | :----- | | += | 将L+R赋给L | | -= | 将L-R赋给L | | = | 将LR赋给L | | /= | 将L/R赋给L | | %= | 将L%R赋给L |