第十三章 C++运算符优先级.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
以下是C++程式语言中的所有运算子的优先级和结合性列表。优先级运算子叙述示例重载性结合性1::作用域解析(C++专有)Class::age = 2;否由左至右2++后缀递增i++--后缀递减i--{}组合{i++;a*=i;}()函数调用或变量初始化c_tor(int x, int y) : _x(x), _y(y * 10) {}[]数组访问array[4] = 2;.以对象方式访问成员obj.age = 34;否-以指针方式访问成员ptr-age = 34;dynamic_cast运行时检查类型转换(C++专有)Y y = dynamic_cast(x);否static_cast未经检查的类型转换(C++专有)Y y = static_cast(x);否reinterpret_cast重定义类型转换(C++专有)intconst* p = reinterpret_cast(0x1234);否const_cast更改非常量属性(C++专有)int* q = const_cast(p);否typeid获取类型信息(C++专有)std::type_infoconst t = typeid(x);否3++前缀递增++i由右至左--前缀递减--i+一元正号inti = +1;-一元负号inti = -1;!not逻辑非!的备用拼写if (!done) …~compl按位取反~的备用拼写flag1 = ~flag2;(type)强制类型转换inti = (int)floatNum;*引用int data = *intPtr;取某某的地址(参考)int *intPtr = data;sizeof某某的大小size_t s = sizeof(int);否new动态内存分配(C++专有)long* pVar = new long;new[]动态数组内存分配(C++专有)long* array = new long[20];delete动态内存释放(C++专有)delete pVar;delete[]动态数组内存释放(C++专有)delete [] array;4.*成员对象选择(C++专有)obj.*var = 24;否由左至右-*成员指针选择(C++专有)ptr-*var = 24;5*乘法inti = 2 * 4;/除法float f = 10.0 / 3.0;%模数(取余)int rem = 4 % 3;6+加法inti = 2 + 3;-减法inti = 5 - 1;7位元左移int flags = 33 1;位元右移int flags = 33 1;8/CODE小于关系if (i 42) …=小于等于关系if (i = 42) ...大于关系if (i 42) …=大于等于关系if (i = 42) ...9==eq等于关系==的备用拼写if (i == 42) ...!=not_eq不等于关系!=的备用拼写if (i != 42) …10bitand位元 AND的备用拼写flag1 = flag2 42;11^xor位元 XOR(独占or)^的备用拼写flag1 = flag2 ^ 42;12|bitor位元 OR(包含or)|的备用拼写flag1 = flag2 | 42;13and逻辑 AND的备用拼写if (conditionA conditionB) …14||or逻辑 OR||的备用拼写if (conditionA || conditionB) ...15c?t:f三元条件运算inti = a b ? a : b;否由右至左16=直接赋值int a = b;+=以和赋值a += 3;-=以差赋值b -= 4;*=以乘赋值a *= 5;/=以除赋值a /= 2;%=以取余数赋值a %= 3;=以位元左移赋值flags = 2;=以位元右移赋值flags = 2;=and_eq以位元AND赋值=的备用拼写flags = new_flags;^=xor_eq以位元XOR赋值^=的备用拼写flags ^= new_flags;|=or_eq以位元OR赋值|=的备用拼写flags |= new_flags;17throw抛出异常throw EClass(“Message”);否18,循环评估运算for (i = 0, j = 0; i 10; i++, j++) …由左至右1. 算术运算符及算术表达式:c++中的算术运算符有:+(取正或加),-(取负或减),*(乘),/(除),%(取余),++(增1),--(减1)。其中+(取正),-(取负),++(增1),--(减1)是单目运算符,其余是双目运算符。+,-,*,/ 运算符与其在数学中的意义,优先级,结合性基本相同。但必须注意“/”运算符,当它的两个操作数都是整数

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档