随笔分类 -  C++学习

摘要:一、特性 1. 使用数组下标的时候,通常将其定义为 size_t 类型 2. size_t 是一种机器相关的无符号类型 3. 它被设计得足够大,以便能表示内存中任意对象的大小 4. 定义在头文件<cstddef>中 二、拓展 容器内有自己定义的几个类型:iterator、size_type、valu 阅读全文
posted @ 2017-10-21 22:59 GGBeng 阅读(316) 评论(0) 推荐(0) 编辑
摘要:一、特性 单向链表,只支持单向顺序访问(不支持快速随机访问),是C++11标准新增的类型 可类比于数据结构——单(向)链表 1. 没有size操作 forward_list为了追求性能,省去了size操作 2. 没有反向容器的成员 c.rbegin() c.rend() c.crbegin() c. 阅读全文
posted @ 2017-10-21 00:14 GGBeng 阅读(488) 评论(0) 推荐(0) 编辑
摘要:一、梳理 1. 容器 一些特定类型对象的集合 2. 顺序容器如何存储值 “顺序”不依赖于元素的值,而是与元素加入容器时的位置相对应 3. 有哪些顺序容器 4. 如何选择合适的容器 list/forward_list:需要在容器的中间插入或删除元素 deque:需要在头尾位置插入或删除元素 vecto 阅读全文
posted @ 2017-10-21 00:14 GGBeng 阅读(315) 评论(0) 推荐(0) 编辑
摘要:一、特性 概述:固定大小数组,支持快速随机访问,不能添加/删除元素,是C++11标准新增的类型 1. array对象的大小是固定的 array不支持添加/删除元素 array不支持改变容器大小的操作(如resize()、reverse()等) 2. array具有固定大小 与内置数组一样,array 阅读全文
posted @ 2017-10-20 23:32 GGBeng 阅读(298) 评论(0) 推荐(0) 编辑
摘要:一、维度 我们知道定义一个数组时,或者给出一个常量表达式作为数组的维度,或者省略维度(而是让编译器根据数组中元素的数目计算维度)。 1. 计算数组的维度 2. 阅读全文
posted @ 2017-10-19 20:02 GGBeng 阅读(141) 评论(0) 推荐(0) 编辑
摘要:一、只读算法 1. find() 2. count() 3. accumulate 4. equal 二、写入算法 1. fill 2. fill_n 3. copy 4. replace 5. replace_copy 三、重排 1. sort 2. unique 3. stable_sort 四 阅读全文
posted @ 2017-10-19 19:57 GGBeng 阅读(615) 评论(0) 推荐(0) 编辑
摘要:一、关键点 头文件 fstream 定义了三个类型来支持文件IO:ifstream、ofstream、fstream 其实上面三个类型就是类,这些类为了管理与流关联的文件,而定义了好多相关的操作: 接受一个 iostream 类型引用(或指针)参数的函数,可以用一个对应的fstream(或sstre 阅读全文
posted @ 2017-10-17 19:10 GGBeng 阅读(462) 评论(0) 推荐(0) 编辑
摘要:一直很难理解返回引用:返回哪个对象的引用?返回的引用如何使用? 一、返回值 1. 示例: 2. 解读:此函数返回变量 a 的值时,要产生一个临时变量保存 a 的值,又因为临时变量的生命周期是短暂的,所以该函数的返回结果不能作为左值。 3. 运用:返回值的函数只能作为右值使用,且看下面: 二、返回类型 阅读全文
posted @ 2017-10-14 18:03 GGBeng 阅读(858) 评论(0) 推荐(1) 编辑
摘要:一、函数指针 1. 函数类型:由它的返回类型和形参类型共同决定(与函数名无关) 2. 示例: 该函数的函数类型为:int (int, int) 3. 声明一个指向函数的指针:int (*pf)(int, int); 4. 函数名:作为一个值来使用时,该函数自动转换成指针 5. 为函数指针赋值:pf 阅读全文
posted @ 2017-10-14 10:04 GGBeng 阅读(193) 评论(0) 推荐(0) 编辑
摘要:一、数组的引用 切入:可以将一个变量定义成数组的引用(这个变量和数组的类型要相同) 形式: 解读:注意上面代码中的形式,因为arr引用了数组odd,故arr变成了数组的别名。 二、数组的引用——作为形参 难点:对应形参/实参的写法、怎么运用该形参 写法: 1 #include <iostream> 阅读全文
posted @ 2017-10-13 20:37 GGBeng 阅读(7659) 评论(0) 推荐(0) 编辑
摘要:一、概述 函数不能数组,但是可以返回数组的指针。 由于定义一个返回数组的指针的函数比较烦琐(即使定义了也很难看懂),所以我们要介绍一些简化方法。 二、使用类型别名 方法: 注:是数组的别名! 于是我们可以这样定义函数: 解读:func函数返回数组的指针,也即返回一个指向包含10个整数的数组的指针。 阅读全文
posted @ 2017-10-13 19:30 GGBeng 阅读(5006) 评论(0) 推荐(0) 编辑
摘要:一、关键点 目的:一个函数,可以处理不同数量实参 方法:initializer_list形参、可变参数模板、省略符形参 二、initializer_list形参 适用于:可变数量的实参部分的类型相同 简介:initializer_list是一种标准库类型,用于表示某种特定类型的值的数组 特点:模板类 阅读全文
posted @ 2017-10-13 10:53 GGBeng 阅读(317) 评论(0) 推荐(0) 编辑
摘要:一、关键点 对象的生命周期:程序执行过程中,该对象存在的那段时间 局部对象:形参、函数体内部定义的变量 二、自动对象 自动对象:只存在于块执行期间的对象 包括:局部变量、形参 三、局部静态对象 特点:该种局部变量的生命周期一直到程序终止 声明局部静态变量:在声明语句前加上static关键字 补充:内 阅读全文
posted @ 2017-10-12 20:45 GGBeng 阅读(811) 评论(0) 推荐(0) 编辑
摘要:一、关键点 异常:存在于运行时的反常行为,这些行为超出了函数正常功能的范围。 典型的异常:失去数据库连接、遇到意外输入等。 异常处理机制:为程序中异常检测和异常处理这两部分的协作提供支持。 二、异常检测 形式:throw 表达式; 解释:上面的语句将引发(或抛出)一个异常,其中表达式的类型就是抛出的 阅读全文
posted @ 2017-10-12 19:09 GGBeng 阅读(327) 评论(0) 推荐(0) 编辑
摘要:一、运算对象既包含无符号类型也有带符号类型 1. 无符号类型不小于带符号类型,带符号的运算对象将转换成无符号的 如:假设两个运算对象的类型分别为 unsigned int 和 int,那么 int 类型的运算对象将转换成 unsigned int 类型。 表达式 a+i 中,i 的类型会被转换为 u 阅读全文
posted @ 2017-10-12 12:20 GGBeng 阅读(251) 评论(0) 推荐(0) 编辑
摘要:一、关键点 逗号运算符含有两个运算对象,从左至右依次求值。 逗号运算符的求值结果是逗号右侧表达式的值。 逗号运算符的优先级低于赋值运算符。 二、示例 解释一下第二句: 阅读全文
posted @ 2017-10-12 11:00 GGBeng 阅读(987) 评论(0) 推荐(0) 编辑
摘要:一、关键点 功能:返回一个类型或一条表达式所占的字节数 形式:sizeof (type) 或 sizeof 表达式 注:第二种形式返回的是表达式结果类型的大小,并且sizeof不实际计算其运算对象的值 返回类型:size_t 结合律:右结合律 二、示例 三、其他说明 1. 对引用类型执行sizeof 阅读全文
posted @ 2017-10-12 10:49 GGBeng 阅读(214) 评论(0) 推荐(0) 编辑
摘要:一、关键点 作用对象:整型(如果运算对象是“小整型”,则它的值会被自动提升成较大的整数类型),把运算对象看成是二进制位的集合 功能:检查和设置二进制位 如果运算对象是带符号的且它的值为负,则位运算符如何处理运算对象的“符号位”依赖于机器,故我们推荐使用位运算符处理无符号类型。 二、示例 1. 用于数 阅读全文
posted @ 2017-10-12 10:12 GGBeng 阅读(223) 评论(0) 推荐(0) 编辑
摘要:后置递增运算符的优先级高于解引用运算符! *p++ 等价于 *(p++) 但是,我们*p++的求值结果不可理解为p+1指向的对象的值,而应该是p指向的对象的值。 这是由于后置++的特性引起的。 *p++:把p的值加1,然后返回p的初始值(即未加1)的副本作为其求值结果,此时解引用运算符的运算对象是p 阅读全文
posted @ 2017-10-11 20:39 GGBeng 阅读(2364) 评论(0) 推荐(0) 编辑
摘要:一、引子 我们所谓的左值、右值,正确的说法应该是左值表达式、右值表达式。 因为C++的表达式不是左值就是右值。 在C中,左值指的是既能够出现在等号左边也能出现在等号右边的表达式,右值指的则是只能出现在等号右边的表达式。 而在C++中,二者的区别就不是这么简单了。 二、关键点 【官方定义】 归纳:当一 阅读全文
posted @ 2017-10-11 20:13 GGBeng 阅读(2216) 评论(0) 推荐(1) 编辑