1.重载运算符:为已经存在的运算符赋予另外一层含义。

2.左值与右值:  
①当一个对象被用作右值的时候,用的是对象的值(内容);当一个对象被用作左值的时候,用的是对象的身份(在内存中的位置)。
②在需要用的右值的地方可以用左值替代,但是不能把右值当成左值使用。

3.在C++中一般的表达式说明符运算对象的求值顺序都没有明确规定,是随机的,因此在这些表达式中的对象来说,如果表达式指向并修改了同一个对象,会引发未定义的错误,只有四个运算符的求值顺序是规定的,规定先求左侧运算对象的值,&&  ||  ?: ,(逗号运算符)

4.(-m)/n和m/(-n)等价于-(m/n)而m%(-n)等价于m%n,(-m)%n等价于-(m%n)

5.赋值运算符的优先级低于关系运算符的优先级,所以在条件语句中,赋值部分通常应该加上括号。

6.除非必须,否则不使用递增递减运算符的后置版本。因为后置版本会有一个保留原始版本副本的过程,浪费资源。

7.sizeof并不实际计算运算对象的值。因此即使用sizeof计算解引用一个无效的指针仍是一种安全的行为。sizeof对数组执行得到整个数组所占空间大小。sizeof不会把数组转换成指针来处理。

8.在大多数用到数组的表达式中,数组自动转换为指向数组首元素的指针。但是当数组被用作decltype,取地址符(&),sizeof以及typeid时候,这种转换不会发生

9.命名的强制类型转换:格式 cast-name<type>(expression);
cast-name分别为:
①static_cast:任何明确定义的类型转换,只要不包含底层的const,都可以用它。
例子:double slope = static_cast<double>(j) /i;
②const_cast:只能改变运算对象的底层const,不能改变其类型
const char *cp;
char *q = static_cast<char*>(cp); //错误,static_cast不能去掉底层的const
static_cast<string>(cp);//正确,字符串字面值转换成string类型
const_cast<string>(cp);//错误,const_cast只改变常量属性


Chapter4(表达式) --C++Prime笔记的更多相关文章

  1. 003-scanf函数使用和表达式-C语言笔记

    003-scanf函数使用和表达式-C语言笔记 学习目标 1.[掌握]输入函数scanf的基本使用方法 2.[掌握]输入函数scanf运行原理和缓冲区理解 3.[掌握]算术运算符和算术表达式的使用 4 ...

  2. Chapter6(函数) --C++Prime笔记

    1.重载函数,也就是说一个名字可以对应几个不同的函数. 2.内置类型的未初始化局部变量将产生未定义的值. 3.局部静态对象在程序执行路径第一次进过对象定义语句时初始化,并且直到程序终止才被销毁. 内置 ...

  3. Chapter2(变量和基础类型)--C++Prime笔记

    数据类型选择的准则: ①当明确知晓数值不可能为负时,选用无符号类型. ②使用int执行整数运算.在实际应用中,short常常显得太小而long一般和int有一样的尺寸.如果运算范围超过int的表示范围 ...

  4. 有关EL表达式的一些笔记

    JSP页面中使用SUN公司的EL函数库,需要导入JSTL开发包,并在页面中导入EL函数库. <%--引入EL函数库 --%> <%@taglib uri="http://j ...

  5. 【Java】Java8新增的Lambda表达式_学习笔记

    一.Lambda表达式可以简化创建匿名内部类对象 1.不需要new XXX(){}这种繁琐代码. 2.不需要指出重写的方法名. 3.不要给出重写的方法的返回值类型. 4.Lambda相当于一个匿名方法 ...

  6. 表达式 - PHP手册笔记

    PHP是一种面向表达式的语言.表达式的定义可以描述为,任何有值的东西. PHP支持全等运算符===(值和类型均相同)和非全等运算符!==(值或者类型不同). PHP的三元条件运算符貌似和C语言不太一样 ...

  7. Spring AspectJ的Execution表达式-备忘笔记

    Aspectj切入点语法定义 在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点" 例如定义切入点表达式  execu ...

  8. C# 表达式树学习笔记

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. Chapter10(泛型算法)--C++Prime笔记

    关键:算法通过在迭代器上进行操作来实现类型无关.算法不改变所操作序列的大小. 1.算法大多都定义在algorithm头文件中,标准库还在头文件numeric中定义了一组数值泛型算法. 2.泛型算法永远 ...

随机推荐

  1. -lPods-NewsPushClientSDK is not an object file (not allowed in a library)

    今天在给客户定制SDK的过程中,出现了下面的一个问题,具有代表性,现在记录下来 问题: Showing All Errors Only : /Applications/Xcode.app/Conten ...

  2. MySql 赋值操作符"="与":="

    MySql小点心—1.赋值操作符"="与":=" 对于刚接触到mysql的程序员来说,会对这两个符号有疑问,因为会发现有的代码里用这个有的用另一个. 当然他们是 ...

  3. Mac SpotLight无法搜索

    在终端运行如下命令: sudo mdutil -i on /

  4. 设计与实现分离——面向接口编程(OO博客第三弹)

    如果说继承是面向对象程序设计中承前启后的特质,那么接口就是海纳百川的体现了.它们都是对数据和行为的抽象,都是对性质和关系的概括.只不过前者是纵向角度,而后者是横向角度罢了.今天呢,我想从设计+语法角度 ...

  5. 20172308 实验二《Java面向对象程序设计 》实验报告

    20172308 2017-2018-2 <程序设计与数据结构>实验2报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 周亚杰 学号:20172308 实验教师:王 ...

  6. Chapter 1 概述

    软件分为通用软件和应用软件,具有复杂.不可见和不断变化的特点:从出现到现在共经历了四个重要的发展阶段,但现在的软件发展依然存在着许多问题. 软件工程是采用工程的概念.原理.技术和方法来开发与维护软件, ...

  7. struts2 jsp提交对象数据要这么干

    不要每个属性都 setter getter .. 这样页面很难看... 直接 把对象变成一个成员变量会比较好. Java code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  8. 【图论】POJ-3723 最大生成树

    一.题目 Description Windy has a country, and he wants to build an army to protect his country. He has p ...

  9. WPF自学入门(十二)WPF MVVM模式提取函数

    我们平时在写代码时为了不重复写代码,会进行复制代码或者写通用方法.今天我们就来把上传做的函数提取成为通用的方法调用.把上次写的函数提取为两个主要的文件:ObserableObject和RelayCom ...

  10. 0422数学口袋精灵bug发现

    团队成员的博客园地址: 蔡彩虹:http://home.cnblogs.com/u/caicaihong/ 曾治业:http://www.cnblogs.com/zzy999/ 蓝叶:http://w ...