摘要:
第七章 类 (Class) 定义抽象数据类型 类背后的基本思想:数据抽象(data abstraction)和封装(encapsulation)。 数据抽象是一种依赖于接口(interface)和实现(implementation)分离的编程技术。 练习7.1 使用2.6.1节定义的Sales_da 阅读全文
摘要:
第九章 顺序容器 顺序容器概述 顺序容器(sequential container):为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应。 顺序容器类型 | 容器类型 | 介绍 | | | | | vector | 可变大小数组。支持快速随机访问。 阅读全文
摘要:
第八章 IO库 前面章节已经在用的IO库设施 istream:输入流类型,提供输入操作。 ostream:输出流类型,提供输出操作 cin:一个istream对象,从标准输入读取数据。 cout:一个ostream对象,向标准输出写入数据。 cerr:一个ostream对象,向标准错误写入消息。 > 阅读全文
摘要:
第六章 函数 函数基础 函数定义:包括返回类型、函数名字和0个或者多个形参(parameter)组成的列表和函数体。 调用运算符:调用运算符的形式是一对圆括号 (),作用于一个表达式,该表达式是函数或者指向函数的指针。 圆括号内是用逗号隔开的实参(argument)列表。 函数调用过程: 1.主调函 阅读全文
摘要:
第五章 语句 简单语句 表达式语句:一个表达式末尾加上分号,就变成了表达式语句。 空语句:只有一个单独的分号。 复合语句(块):用花括号 {}包裹起来的语句和声明的序列。一个块就是一个作用域。 练习5.1 什么是空语句?什么时候会用到空语句? 解: 只含义一个单独的分号的语句是空语句。如:;。 如果 阅读全文
摘要:
第四章 表达式 表达式基础 运算对象转换:小整数类型会被提升为较大的整数类型 重载运算符:当运算符作用在类类型的运算对象时,用户可以自行定义其含义。 左值和右值: C中原意:左值可以在表达式左边,右值不能。 C++:当一个对象被用作右值的时候,用的是对象的值(内容); 被用做左值时,用的是对象的身份 阅读全文
摘要:
第三章 字符串、向量和数组 using声明 使用某个命名空间:例如 using std::cin表示使用命名空间std中的名字cin。 头文件中不应该包含using声明。这样使用了该头文件的源码也会使用这个声明,会带来风险。 练习3.1 使用恰当的using 声明重做 1.4.1节和2.6.2节的练 阅读全文
摘要:
第二章 变量和基本类型 任何常用的编程语言都具备一组公共的语法特征,最基本的特征包括: 整型、字符型等内置类型 变量,用来为对象命名 表达式和语句,用于操作上述数据类型的具体值 if 或 while 等控制结构,有选择地执行一些语句或重复地执行一些语句 函数,用于定义可供随时调用的计算单元 大多数编 阅读全文
摘要:
第一章 开始 熟悉编译器 g++: 编译:g++ --std=c++11 ch01.cpp -o main 运行:./prog1 查看运行状态:echo $? 编译多个文件:g++ ch2.cpp Sales_item.cc -o main 输入 g++ --help,查看编译器选项: Usage: 阅读全文
摘要:
C++11的设计者总是希望从各种方案中抽象出更为通用的方法来构建新的特性。这意味着C++11中的新特性往往具有广泛的可用性,可以与其他已有的,或者新增的语言特性结合起来进行自由的组合,或者提升已有特性的通用性。以下是我们在编程过程中常用的一些新特性:
委托(委派)构造函数
继承构造函数
右值引用
移动语义和完美转发
列表初始化
POD 类型
非受限联合体
使用 using 定义别名
可调用对象包装器和绑定器
常量表达式
等等 阅读全文