C++ 运算符优先级列表
来源:互联网 发布:长春网络广播电视台 编辑:程序博客网 时间:2024/04/30 16:50
http://www.cppreference.com/operator_precedence.html
::
Scope resolution operator Class::age = 2;
no left to right 2 ()
Function call printf(“Hello world/n”);
yes left to right ()
Member initalization c_tor(int x, int y) : _x(x), _y(y * 10) {}
yes []
Array access array[4] = 2;
yes ->
Member access from a pointer ptr->age = 34;
yes .
Member access from an object obj.age = 34;
no ++
Post-increment for (int i = 0; i < 10; i++) cout << i;
yes --
Post-decrement for (int i = 10; i > 0; i--) cout << i;
yes dynamic_cast
Runtime-checked type conversion Y& y = dynamic_cast<Y&>(x);
no static_cast
Unchecked type conversion Y& y = static_cast<Y&>(x);
no reinterpret_cast
Reinterpreting type conversion int const* p = reinterpret_cast<int const*>(0x1234);
no const_cast
Cast away/Add constness int* q = const_cast<int*>(p);
no typeid
Get type information std::type_info const& t = typeid(x);
no 3 !
Logical negation if (!done) ...
yes right to left not
Alternate spelling for !
~
Bitwise complement flags = ~flags;
yes compl
Alternate spelling for ~
++
Pre-increment for (i = 0; i < 10; ++i) cout << i;
yes --
Pre-decrement for (i = 10; i > 0; --i) cout << i;
yes -
Unary minus int i = -1;
yes +
Unary plus int i = +1;
yes *
Dereference int data = *intPtr;
yes &
Address of int *intPtr = &data;
yes sizeof
Size (of the type) of the operand in bytes size_t s = sizeof(int);
no new
Dynamic memory allocation long* pVar = new long;
yes new []
Dynamic memory allocation of array long* array = new long[20];
yes delete
Deallocating the memory delete pVar;
yes delete []
Deallocating the memory of array delete [] array;
yes (type)
Cast to a given type int i = (int)floatNum;
yes 4 ->*
Member pointer selector ptr->*var = 24;
yes left to right .*
Member object selector obj.*var = 24;
no 5 *
Multiplication int i = 2 * 4;
yes left to right /
Division float f = 10.0 / 3.0;
yes %
Modulus int rem = 4 % 3;
yes 6 +
Addition int i = 2 + 3;
yes left to right -
Subtraction int i = 5 - 1;
yes 7 <<
Bitwise shift left int flags = 33 << 1;
yes left to right >>
Bitwise shift right int flags = 33 >> 1;
yes 8 <
Comparison less-than if (i < 42) ...
yes left to right <=
Comparison less-than-or-equal-to if (i <= 42) ...
yes >
Comparison greater-than if (i > 42) ...
yes >=
Comparison greater-than-or-equal-to if (i >= 42) ...
yes 9 ==
Comparison equal-to if (i == 42) ...
yes left to righteq
Alternate spelling for == !=
Comparison not-equal-to if (i != 42) ...
yes not_eq
Alternate spelling for != 10 &
Bitwise AND flags = flags & 42;
yes left to rightbitand
Alternate spelling for & 11 ^
Bitwise exclusive OR (XOR) flags = flags ^ 42;
yes left to right xor
Alternate spelling for ^ 12 |
Bitwise inclusive (normal) OR flags = flags | 42;
yes left to right bitor
Alternate spelling for | 13 &&
Logical AND if (conditionA && conditionB) ...
yes left to right and
Alternate spelling for && 14 ||
Logical OR if (conditionA || conditionB) ...
yes left to right or
Alternate spelling for || 15 ? :
Ternary conditional (if-then-else) int i = a > b ? a : b;
no right to left 16 =
Assignment operator int a = b;
yes right to left+=
Increment and assign a += 3;
yes -=
Decrement and assign b -= 4;
yes *=
Multiply and assign a *= 5;
yes /=
Divide and assign a /= 2;
yes %=
Modulo and assign a %= 3;
yes &=
Bitwise AND and assign flags &= new_flags;
yes and_eq
Alternate spelling for &= ^=
Bitwise exclusive or (XOR) and assign flags ^= new_flags;
yes xor_eq
Alternate spelling for ^= |=
Bitwise normal OR and assign flags |= new_flags;
yes or_eq
Alternate spelling for |= <<=
Bitwise shift left and assign flags <<= 2;
yes >>=
Bitwise shift right and assign flags >>= 2;
yes 17 throw
throw exception throw EClass(“Message”);
no 18 ,
Sequential evaluation operator for (i = 0, j = 0; i < 10; i++, j++) ...
yes left to right
- C++:运算符优先级列表
- C运算符优先级列表
- c运算符优先级列表
- C/C++运算符优先级列表
- C语言运算符优先级列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级详细列表
- C语言运算符优先级 详细列表
- c语言运算符优先级列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- C语言运算符优先级 详细列表
- GIT简介
- 文件上传
- 手势
- JBoss4到JBoss5的迁移
- 用shell处理上MB的文件
- C++ 运算符优先级列表
- 我的微博
- Send函数和Recv函数解析
- 开始写文档
- Boost程序库完全开发指南:深入C++“准”标准库
- C#3.0新特性(三)-详说自动属性和匿名类型
- 深度剖析memcached源代码线程模型
- 几个小例子
- CSDN 用户ID:zhkchi 的恶劣行径