算术运算符 + 加 x=y+z; - 减 x=y-z; * 乘 x=y*z; / 除 x=y/z; 赋值运算符 = 赋值 x=10; += 赋值与和 x+=10;(等于x=x+10;) -= 赋值与减 x-=10; *= 赋值与乘 x*=10; /= 赋值与除 x/=10; &= 赋值位与 x&=0x02; |= 赋值位或 x|=0x02; 逻辑操作符 && 逻辑与 if(x && 0xFF) {...} || 逻辑或 if(x || 0xFF) {...} 等式操作符 == 等于 if(x == 10) {...} != 不等于 if(x != 10) {...} < 小于 if(x < 10) {...} > 大于 if(x > 10) {...} <= 小于或等于 if(x <= 10) {...} >= 大于或等于 if(x >= 10) {...} 一元操作符 * 间接操作符 int x=*y; & 地址操作符 int* x=&y; ~ 位非 x &=~0x02; ! 逻辑非 if(!valid) {...} ++ 递增操作符 x++(等于x=x+1;) -- 递减操作符 x--; 类和结构操作符 :: 范围解析 MyClass :: SomeFunction(); -> 间接成员 MyClass-> SomeFunction(); · 直接成员 MyClass . SomeFunction(); 可以看出,这个清单长了些,没法一下子记住。使用C++时,你会慢慢熟悉这些操作符的。必须指出,递增操作符既可用作前递增(++x),
也可用作后递增(x++)。前递增操作符告诉编译器先递增再使用变量,而后递增操作符则让编译器先使用变量值再递增。例如下列代码:
int x = 10; cout << "x = " << x++ << end1; cout << "x = " << x << end1; cout << "x = " x << end1; cout << "x = " << ++x << end1; 输出结果如下: x=10 x=11 x=12 x=12 递减操作符也是这样,这里不想将这些内容讲得太深,但读者可以耐心阅读下去,正如彭兹对奥古斯特所说,“奥古,耐心点,
罗马不是一天建成的”。说明 在C++中操作符可以过载(overload)。编程人员可以通过过载标准操作符让它在特定类中进行特定运行。
例如,可以在一个类中过载递增操作符,让它将变量递增10而不是递增1。操作符过载是个高级C++技术,本书不准备详细介绍。
你也许会发现,有些操作符使用了相同的符号。符号的意义随情境的不同而不同。
例如,星号(*)可以作为乘号、声明指针或取消指针引用。这初看起来有点乱,事实上,C++编程老手有时也觉得有点乱。
多实践,你会慢慢适应的。本书有许多例子介绍这些操作符。读者不必死记每个操作符的作用,而可以在学习中通过程序和码段去理解其作用。