整理的一份C/C++的速查表,平时整理下放到这里来,供方便查询。
C++ Operator Precedence
结合律 |
运算符 |
功能 |
用法 |
左 |
:: |
全局作用域 |
::name |
左 |
:: |
类作用域 |
class::name |
左 |
:: |
命名空间作用域 |
namespace::name |
左 |
. |
成员选择 |
object.member |
左 |
-> |
成员选择 |
pointer->member |
左 |
[] |
下标 |
expr[expr] |
左 |
() |
函数调用 |
name(expr_list) |
左 |
() |
类型构造 |
type(expr_list) |
右 |
++ |
后置递增运算 |
lvalue++ |
右 |
– |
后置递减运算 |
lvalue– |
右 |
typeid |
类型ID |
typeid(type) |
右 |
typeid |
运行时类型ID |
typeid(expr) |
右 |
explicit cast |
类型转换 |
cast_name(expr) |
右 |
++ |
前置递增运算 |
++lvalue |
右 |
– |
前置递减运算 |
–lvalue |
右 |
~ |
位求反 |
~expr |
右 |
! |
逻辑非 |
!expr |
右 |
- |
一元负号 |
-expr |
右 |
+ |
一元正号 |
+expr |
右 |
* |
解引用 |
*expr |
右 |
& |
取地址 |
&lvalue |
右 |
() |
类型转换 |
(type)expr |
右 |
sizeof |
对象的大小 |
sizeof expr |
右 |
sizeof |
类型的大小 |
sizeof(expr) |
右 |
sizeof |
参数包的大小 |
sizeof…(name) |
右 |
new |
创建对象 |
new type |
右 |
new[] |
创建数组 |
new type[size] |
右 |
delete |
释放对象 |
delete expr |
右 |
delete[] |
释放数组 |
delete[] expr |
右 |
noexcept |
能否抛出异常 |
noexcept(expr) |
左 |
->* |
指向成员选择的指针 |
ptr->*ptr_to_member |
左 |
.* |
指向成员选择的指针 |
obj.*ptr_to_member |
左 |
* |
乘法 |
expr*expr |
左 |
/ |
除法 |
expr/expr |
左 |
% |
取模(取余) |
expr%expr |
左 |
+ |
加法 |
expr+expr |
左 |
- |
减法 |
expr-expr |
左 |
<< |
向左移位 |
expr<<expr |
左 |
>> |
向右移位 |
expr>>expr |
左 |
< |
小于 |
expr<expr |
左 |
<= |
小于等于 |
expr<=expr |
左 |
> |
大于 |
expr>expr |
左 |
>= |
大于等于 |
expr==expr |
左 |
== |
相等 |
expr>=expr |
左 |
!= |
不相等 |
expr!=expr |
左 |
& |
位与 |
expr&expr |
左 |
^ |
位异或 |
expr^expr |
左 |
¦ |
位或 |
expr ¦ expr |
左 |
&& |
逻辑与 |
expr && expr |
左 |
¦¦ |
逻辑或 |
expr ¦¦ expr |
右 |
?: |
条件(三目运算符) |
expr?exper:expr |
右 |
= |
赋值 |
lvalue=expr |
右 |
*/,/=,%=,+=,-=,<<=,>>=,&=, ¦=,^= |
复合赋值 |
lvalue+=expr等 |
右 |
throw |
抛出异常 |
throw expr |
右 |
, |
逗号运算符 |
expr,expr |
C++ Keywords
Conversion Specifiers in C
Conversion |
Output Specification |
%a |
Floating-point number, hexadecimal digits and p-notation (C99/C11). |
%A |
Floating-point number, hexadecimal digits and P-notation (C99/C11). Exploring and Exploiting printf() and scanf() |
%c |
Single character. |
%d |
Signed decimal integer. |
%e |
Floating-point number, e-notation. |
%E |
Floating-point number, e-notation. |
%f |
Floating-point number, decimal notation. |
%g |
Use %f or %e , depending on the value. The %e style is used if the exponent is less than −4 or greater than or equal to the precision. |
%G |
Use %f or %E , depending on the value. The %E style is used if the exponent is less than −4 or greater than or equal to the precision. |
%i |
Signed decimal integer (same as |
%o |
Unsigned octal integer. |
%p |
A pointer. |
%s |
Character string. |
%u |
Unsigned decimal integer. |
%x |
Unsigned hexadecimal integer, using hex digits 0f . |
%X |
Unsigned hexadecimal integer, using hex digits 0F . |
%% |
Prints a percent sign. |