C++ Primer经典书目阅读之五:表达式

简介:

表达式

1.   算术操作符

算术操作符主要有:

 

1.对两个整数做除法,结果仍为整数,如果它的商包含小数部分,则小数部分会被截除;

2.求余操作的操作数只能为整型;

3.如果两个操作数为正,除法和求余操作的结果也是正数;如果两个操作数的结果都是负数,除法操作的结果为正数或零,而求么操作的结果则为负数或零;

2.关系操作符和逻辑操作符

关系操作符主要有:

 

1.逻辑与和逻辑或操作符综述先计算其左操作数,然后再计算其右操作数。只有在仅靠做操作数的值无法确定逻辑表达式的结果时,才会求解其又操作数。常称这种求值策略为“短路求值”。

2.不应该串联使用关系操作符

      If(i < j < k),只要k大于1上式就为真

      if(I < j && j < k)才为上式的正确写法,数学意义为i<j<k

3.位操作符

位操作符主要有:

 

    1.对于位操作符,由于系统不能确保如何处理其操作数的符号位,所以强烈建议使用unsigned整形操作数。

 

4.赋值操作符

5.自增和自减操作符

1.前置自增和后置自增操作都是对操作数加1,不同的是前置表达式的值是加1后的值,后置表达式的值是未加1的值,前置自减和后置自减操作同理。

6.箭头操作符

7.条件操作符

   1.条件操作符是C++中唯一的三元操作符,它允许将简单的if-else判断语句嵌入表达式中。

8.sizeof操作符

1.Sizeof操作符的作用是返回一个对象或类型名的长度,返回值的类型为size-t,长度单位是字节。

2.使用sizeof的结果部分地一来所涉及的类型:

   对char类型或值为char类型的表达式做sizeof操作保证得1.

   对引用类型做sizeof操作将返回存放此引用类型对象所需的内存空间大小;

   对指针做sizeof操作将返回存放指针所需的内存大小;注意,如果要获取该指针所指向对象的大小,则必须对该指针进行解引用;

   对数组做sizeof操作等效于将对其元素类型做sizeof操作的结果乘上数组元素的个数。

9.逗号操作符

    逗号表达式是蚁族由逗号分隔的表达式,这些表达式从左向右计算。逗号表达式的结果是其最右边表达式的值。

10符号表达式的求值    

  操作符的优先级为:



   1.符合表达式的求值根据符号的优先级计算

   2.圆括号优先于优先级之上

   3.一个表达式里,不要在两个或更多的子表达式中对同一对象做自增或自减操作。

11.new和delete表达式

1.如果指针指向不是用new分配的内存地址,则在该至镇上使用delete是不合法的

2.如果指针的值为0,则在其上做delete操作是合法的,不过没有任何意义;

3.在delete指针之后,应立即将该指针置为0,这样就可以清楚的表明指针不再指向任何对象,避免悬垂指针的存在。


12.类型转换

相关文章
|
12天前
|
编译器 C++
c++primer plus 6 读书笔记 第十章 对象和类
c++primer plus 6 读书笔记 第十章 对象和类
|
12天前
|
编译器 数据安全/隐私保护 C++
c++primer plus 6 读书笔记 第十三章 类继承
c++primer plus 6 读书笔记 第十三章 类继承
|
12天前
|
C++
C++ Primer Plus (第6版)中文版 (使用XMind整理)
C++ Primer Plus (第6版)中文版 (使用XMind整理)
C++ Primer Plus (第6版)中文版 (使用XMind整理)
|
3天前
|
算法 编译器 C++
C++一分钟之—Lambda表达式初探
【6月更文挑战第22天】C++的Lambda表达式是匿名函数的快捷方式,增强函数式编程能力。基本语法:`[capture](params) -&gt; ret_type { body }`。例如,简单的加法lambda:`[](int a, int b) { return a + b; }`。Lambda可用于捕获外部变量(值/引用),作为函数参数,如在`std::sort`中定制比较。注意点包括正确使用捕获列表、`mutable`关键字和返回类型推导。通过实践和理解这些概念,可以写出更简洁高效的C++代码。
28 13
|
2天前
|
C++
C++语言的lambda表达式
C++从函数对象到lambda表达式以及操作参数化
|
8天前
|
C++
C++一分钟之-理解C++的运算符与表达式
【6月更文挑战第18C++的运算符和表达式构成了编程的基础,涉及数学计算、逻辑判断、对象操作和内存管理。算术、关系、逻辑、位、赋值运算符各有用途,如`+`、`-`做加减,`==`、`!=`做比较。理解运算符优先级和结合律至关重要。常见错误包括优先级混淆、整数除法截断、逻辑运算符误用和位运算误解。解决策略包括明确优先级、确保浮点数除法、正确使用逻辑运算符和谨慎进行位运算。通过实例代码学习,如 `(a &gt; b) ? &quot;greater&quot; : &quot;not greater&quot;`,能够帮助更好地理解和应用这些概念。掌握这些基础知识是编写高效、清晰C++代码的关键。
16 3
|
12天前
|
C++
c++primer plus 6 读书笔记 第十四章 C++中的代码重用
c++primer plus 6 读书笔记 第十四章 C++中的代码重用
|
12天前
|
C++
c++primer plus 6 读书笔记 第十一章 使用类
c++primer plus 6 读书笔记 第十一章 使用类
|
12天前
|
程序员 C++
c++primer plus 6 读书笔记 第十二章 类和动态内存分配
c++primer plus 6 读书笔记 第十二章 类和动态内存分配
|
1天前
|
编译器 C++
C++练级之路——类和对象(中二)
C++练级之路——类和对象(中二)
11 5