算术运算符号要注意:(++、--)
int a=2
a++与++a的区别
#include <iostream>
using namespace std;
int main()
{
int a = 21;
int c ;
// a 的值在赋值之前不会自增
c = a++;
cout << "Line 1 - Value of a++ is :" << c << endl ;
// 表达式计算之后,a 的值增加 1
cout << "Line 2 - Value of a is :" << a << endl ;
// a 的值在赋值之前自增
c = ++a;
cout << "Line 3 - Value of ++a is :" << c << endl ;
return 0;
}
关系运算符
返回值 布尔类型
逻辑运算符
&& 与(两个都为true 结果才为true)
||或 (只要一个为true ,结果就是true )
!非 (只要一个布尔类型的逆)(!1=0)
位运算符
& 按位与
| 按位或
^ 按位异或 (如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中。)两个输入相同时为0,不同则为1
~ 求补码 (取反)
<< 二进制左移 例如A 的值为 60 左移2 位。得到结果是2^2 x 60=240
>>二进制右移 例如A 的值为 60 左移2 位 结果为15
赋值运算符
没什么好提的。
其他运算符号
sizeof 是一个关键字,它是一个编译时运算符,用于判断变量或数据类型的字节大小。sizeof(int) =4
(表达式)?A:B 如果表达式为真,则为A,否则为B。
点运算符,和箭头运算符
一种是取地址运算符 &,一种是间接寻址运算符 *(指针,间接寻址)
C++ 中的运算符优先级
括号
普通运算符号
移位
关系
c++存储类
自 C++ 11 以来,auto 关键字用于两种情况:声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符。
register 存储类用于定义存储在寄存器中而不是 RAM 中的局部变量。这意味着变量的最大尺寸等于寄存器的大小(通常是一个词)。
static 静态变量。存储类指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁。
extern 存储类用于提供一个全局变量的引用,全局变量对所有的程序文件都是可见的。