优先级01
优先级 | 运算符 | 含义 | 运算个数 | 结合方向 |
01 | ( ) | 圆括号 | 0 | 从左至右 |
[ ] | 下标 | |||
-> | 指向结构体成员 | |||
. | 结构体成员 |
前两个无必多说,都是老常客。
后两个就有点东西了:
都与结构体成员有关联,怎么用?
访问结构体成员用 " . " 点运算符,访问结构体指针的成员用 " -> " 箭头运算符
优先级02
优先级 | 运算符 | 含义 | 运算个数 | 结合方向 |
02 | ! | 逻辑非 | 1 | 自右至左 |
~ | 按位取反 | |||
++ | 自增 | |||
-- | 自减 | |||
- | 负号 | |||
(类型) | 类型转换 | |||
* | 指针 | |||
& | 取地址 | |||
sizeof | 长度 |
此处着重讲一下sizeof的用法:
sizeof是C++中的一个运算符,用于获取一个对象或类型的大小(以字节为单位)。它的基本用法包括:
1. 获取变量的大小:
int num;
size_t size = sizeof(num);
2. 获取类型的大小:
size_t size = sizeof(int);
3. 获取数组的大小:
int arr[5];
size_t size = sizeof(arr);
4. 获取指针类型的大小:
int* ptr;
size_t size = sizeof(ptr);
5. 获取结构体或类的大小:
struct Person {
int age;
char name[20];
};
size_t size = sizeof(Person);
需要注意的是,sizeof运算符在编译时求值,而不是运行时。因此,它无法用于动态分配的内存。此外,对于指针变量,sizeof返回的是指针类型的大小,而不是指针所指向的对象的大小。
优先级03-11
优先级 | 运算符 | 含义 | 运算个数 | 结合方向 |
03 | * | 乘法 | 2 | 自左至右 |
/ | 除法 | |||
% | 求余 | |||
04 | + | 加法 | ||
- | 减法 | |||
05 | << | 左移 | ||
>> | 右移 | |||
06 | <,<=,>,>= | 关系 | ||
07 | ==,!= | 等于,不等于 | ||
08 | & | 按位与 | ||
09 | ^ | 按位异或 | ||
10 | | | 按位或 | ||
11 | & | 逻辑与 |
大家可以看这篇文章:位运算全面总结,关于位运算看这篇就够了-CSDN博客
这篇文章中,对“<<,>>,&,^,|”......进行了详细的介绍。
优先级12-15
优先级 | 运算符 | 含义 | 运算个数 | 结合方向 |
12 | || | 逻辑或 | 2 | 自左至右 |
13 | ?: | 条件/三目运算符 | 3 | 自右至左 |
14 | =,+=,-=,*=,/=,%=,>>,<<=,&=,^=,|= | 赋值运算符 | 2 | 自右至左 |
15 | , | 逗号运算符 | 2 | 自右至左 |
以上,UP列出了C++中的运算符。
希望大佬们指正!
先关注,不迷路!