![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++ Primer Plus第五版学习笔记
文章平均质量分 63
我只是一只自动小青蛙
这个作者很懒,什么都没留下…
展开
-
3.4迭代器
容器类型可以使用迭代器进行容器内元素的访问。C++中全部容器都支持迭代器访问,但只有少部分容器支持下标访问vector是容器,string不是容器,但string支持迭代器迭代器分为有效迭代器和无效迭代器指向元素或者容器中最后一个元素的一下一个位置的迭代器是有效的,其他的是无效的一、使用迭代器(与指针类似)迭代器类型[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HTBBSy9n-1621250018987)(4F95F7D18DDE40C88AD697E77原创 2021-05-17 19:13:43 · 118 阅读 · 1 评论 -
3.3标准库类型vector
标准库类型vector表示对象的集合,其中对象的类型均相同,vector也被称作容器。使用vector,必须包含如下头文件和using声明:#include <vector>using std::vector;vector是C++中的类模板,编译器需要根据类模板和我们提供的参数创建对应的类,这一过程称作实例化。C++中有类模板和函数模板提供给类模板的额外信息格式入下:类模板名<额外信息> vector类模板需要提供的信息是vector中存放的对象的类型,如下v原创 2021-05-17 19:13:22 · 273 阅读 · 1 评论 -
3.2 标准库类型string
标准库类型string是可变长的字符序列,如果使用该类型,必须包括string,同时,string是std空间中的名字,因此,使用前需要:#include <string>using std::string一、string的定义和初始化string的初始化方式如下:string s1; //默认初始化,s1为空串 string s2 = s1; //使用来为s2初始化,是赋值初始化string s2(s1); //使用来为s2初始化,是直接初始化string s原创 2021-05-17 19:12:34 · 158 阅读 · 0 评论 -
3.1 命名空间using声明
using是C++的关键字,使用了using声明,就可以不用命名空间的前缀就使用名字了。一、单个名字的using声明using std::cout; using std::endl; //声明多个名字,使用;间隔cout << " " << endl; //只有声明了的名字可以直接使用std::cin >> a; //没被声明的名字还要使用命名空间前缀头文件中不应该包含using声明,因为引用头文件时候可能忽略从而造成名字冲突。...原创 2021-05-17 19:12:00 · 221 阅读 · 0 评论 -
2.5处理类型
一、类型别名使用typedef定义类型别名typedef 原类型 类型修饰符类型别名其中,类型别名是被类型别名前的类型修饰符修饰过的原类型的别名,且一句话可以定义多个类型别名,如:typedef int *p, base;//base 是int的别名,p是int* 的别名其中typedef是关键字C++11新特性:使用using定义别名using 别名 = 原来类型名其中using是关键字别名的一体性对于复合类型,一旦定义了其别名,则别名在使用时候就具有一体性,不能再拆开,如下:原创 2021-05-17 19:11:20 · 100 阅读 · 1 评论 -
2.4const限定符与头文件引用
一、const初始化与作用域当我们不希望某一个变量的值被改变时候,我们在定义该变量的时候可以使用const限定符,则该变量的值在定义初始化后不可以被改变,且该变量必须在定义的时候完成初始化,格式如下:const 类型名 变量名 = 初始化值;类型名 const 变量名 = 初始化值;//这样也合法,但一般不这样写const int bufSize = 1024; //用常量初始化const int bufSize = get_size(); //用表达式或函数初始化const变量在编译的原创 2021-05-17 19:10:48 · 465 阅读 · 1 评论 -
2.3复合类型
C++有三大类类型,内置类型,复合类型,类类型。复合类型是基于其他类型定义的类型。其中内置类型包括整型数,布尔值,字符,浮点数,空类型;类类型是用户自己定义的类;其他的就是复合类型,如引用,指针,数组复合类型到底有哪些?一、引用引用类型是引用另一种类型的符合类型。它本身不是一个对象,是为已经存在的对象另外起了一个名字,并没有定义新的对象,其定义格式如下:引用类型 &引用名 = 对象原名;举例如下:int a = 3;int &b = a;我们说引用时候一般说的是左值引用原创 2021-05-17 19:10:06 · 229 阅读 · 0 评论 -
2.2变量
变量:变量提供了一个具有名字的,可供程序操作的内存空间。变量的类型决定了变量的大小,取值,内存空间布局及可参与的运算。在C++中,变量(variable)和对象(object)时一个意思。一、变量定义1、通用定义格式类型说明符 标识符1(可初始化),...,标识符n(可初始化);举例:string book("math"),book2("english");/*其中string为类型说明符,book和book2为标识符(即变量名),这两个变量由(”字符串“)进行初始化*/2、变量初始化原创 2021-05-17 19:09:26 · 97 阅读 · 0 评论 -
2.1C++基本内置类型
原创 2021-05-17 19:08:41 · 73 阅读 · 0 评论 -
1.2 字面值常量
一、字面值常量概述字面值常量包括整型字面值,浮点型字面值,字符和字符串字面值,布尔字面值,指针字面值四种。字面值常量的形式和值决定了他的数据类型。二、整型字面值1. 整型字面值格式名称十进制八进制十六进制例子200240x24注意无前面加零不是大写的o前面加零x,不是大写的ox2.整型字面值类型名称十进制八进制和十六进制可匹配类型有符号整型有符号和无符号整型都有可能有符号整型包括int,long,long lo原创 2021-05-17 19:02:33 · 950 阅读 · 1 评论 -
tip1:C++中取余运算
一、C++中的整数除法C++中整数除法和取余用的是truncate除法(舍0取整),而给无符号类型赋值超出表示范围时候用无符号类型等于赋值对无符号类型可以表示的数值总数取余,智力的取余是基于floor除法的(向下取整)。在整数除法中,Java/C 等语言用的是 truncate 除法,Python 用的是 floor 除法。1、truncate 除法向零取整。向 0 方向取最接近精确值的整数,换言之就是舍去小数部分,因此又称截断取整(Truncate)。可以这样理解,先用浮点数除法进行计算,计算结果原创 2020-10-23 00:19:39 · 41049 阅读 · 0 评论 -
1.1 C++开始
风格约定:橙色字体:固定名词红色字体:重要重要概念或理论1.1编写一个简单的C++程序如下式一个简单的main函数,功能是返回给操作系统一个值://程序1.1.0int main(){ return 0;}C++程序均包含一个或多个函数,其中必须有一个main函数,系统通过调用main函数来运行C++程序。 一个函数的定义包括四个部分:返回类型,函数名,括号包括的形参列表以及花括号包含的函数体。如程序1.1.0中,返回类型为int,函数名为main,形参列表原创 2020-10-15 00:14:00 · 271 阅读 · 0 评论