c++_primer_note
文章平均质量分 92
AT TA
这个作者很懒,什么都没留下…
展开
-
C++_Primer_学习笔记_第十九章(特殊工具和技术)
第十九章(特殊工具与技术)/1.控制内存分配1).不能直接应用标准内存管理机制。某一些应用程序需要自定义内存分配的的细节,比如使用关键字new将对象放置在特定的内存空间中。为了实现这一个目的,需要重载new和delete运算符,来控制内存分配的过程。//1.重载new和delete1).尽管说是重载,但是重载它们和重载其他的运算符过程大不相同。2).了解new和delete表达式的工作机理。{ // ---------------new string *sp = new原创 2021-08-03 11:31:36 · 244 阅读 · 0 评论 -
C++_Primer_学习笔记_第十八章(用于大型程序的工具)
第十八章(用于大型程序的工具)子系统,子程序如何协同处理错误如何使用各种库进行协同开发复杂的概念如何建模/1.异常处理1).将异常的捕获和处理分开。2).了解以下的过程异常抛出时发生了什么异常捕获时发生了什么传递错误的对象的意义//1.抛出异常1).当执行一个throw时,跟在throw后面的语句不再被执行。程序的控制权由,throw转移到与之匹配的catch模块中。catch可能是同一个函数的局部catch,也可能是直接或者间接调用发生异常函数的另一个函数中。控制权的转移原创 2021-07-29 22:10:57 · 378 阅读 · 0 评论 -
C++_Primer_学习笔记_第十七章(特殊标准库设施)
第四部分(高级主题)1).标准库的附加特性,求解大规模问题很有用或者适用于特殊问题2).我们使用的标准库的名字,实际上都是使用名字为std的命名空间中的名字。第十七章(标准库特殊设施)/1.tuple类型1).tuple类似于pair成员。不同tuple类型的成员类型也不同,但一个tuple可以由任意数量的成员。每一个确定的tuple类型的成员数量也是固定的。可以应用在一些数据组合成单一的对象,但是有不必构建一个类。tuple类型和它的伴随类,函数都定义在头文件tuple中。相关的原创 2021-07-28 22:06:26 · 1268 阅读 · 0 评论 -
C++_Primer_学习笔记_第十六章(模板和泛型编程)
第十六章(模板和泛型编程)1).泛型编程。例如,容器,迭代器,算法。提供一些信息进行实例化。可以在编译时就知道类型。模板时泛型编程的基础。2).OOP,动态绑定,可以在运行时才知道类型。3).以上两者都可以处理编写程序时,不知道类型的情况。/1.定义模板1).比较所有类型的数据大小,需要定义很多的重载函数,(我们所能想到的)而且如果是用户自定义的类型,这种策略就不可行。2).比较函数,除了数据类型,函数体,函数名,参数名,返回值类型完全一样。//1.函数模板1).定义一个函数.原创 2021-07-27 23:27:52 · 398 阅读 · 1 评论 -
C++_Primer_学习笔记_第十五章(面向对象程序设计)
第十五章(面向对象程序设计)1).面向对象程序设计基于三个概念数据抽象(接口和实现的分离)继承(定义相似的类)动态绑定(忽略类的差异,统一使用)2).面向对象程序设计适用于,不同类有细微差别;但是使用时可以忽略这些差别的情况。/1.OOP:概述1).继承,通过继承联系在一起的类构成一种层次关系。层次关系的根部,有一个基类其他类间接或者直接地从基类继承而来。这些继承而来的类称为是派生类。基类负责定义层次关系中所有类共同拥有的成员,派生类定义各自特有的成员。大多数类只继承一个类,原创 2021-07-25 23:29:48 · 300 阅读 · 0 评论 -
C++_Primer_学习笔记_第十四章(重载运算和类型转换)
第十四章(重载运算和类型转换)1).自定义运算符号以及类型之间的转换规则。重载运算符号,定义运算符号的含义。{ // 前后对比。 print(cout,add(item1,item2)); cout << item1 + item2;}/1.基本概念1).几点说明。运算符函数名字由operator关键字,和它要定义的运算符号一起组成。由返回类型,函数体,参数列表。参数数量和运算对象的关系。是否成员函数参数数量和运算对象关系原创 2021-07-21 22:10:42 · 233 阅读 · 2 评论 -
C++_Primer_学习笔记_第十三章(拷贝控制)
第三部分(设计者的工具)1).很多语言并没有赋予类设计者控制,对象拷贝,赋值,移动和销毁时做什么的能力。管理动态内存的类通常不能依赖于标准库合成的版本。2).继承和动态绑定与数据抽象一起构成了面向对象编程基础。第十三章(拷贝控制)1).学习类如何控制该类型对象的拷贝,赋值,移动,销毁。定义拷贝构造函数,移动构造函数,来定义当用同类型的另一个对象初始化本对象时做什么。定义拷贝赋值运算符,移动赋值运算符,来定义将一个对象赋予同类型的另一个对象时做什么。定义**析构函数,**来定义一个此类.原创 2021-07-20 00:12:26 · 324 阅读 · 3 评论 -
C++_Primer_学习笔记_第七章(类)
第七章(类)1).类的问题。自定义运算符。如何控制对象的拷贝,移动,赋值,销毁等。2).类的基本思想。数据抽象,是一种依赖于接口和实现分离的编程以及设计技术。接口包括用户所能执行的操作,类的实现包括类的数据成员,负责接口实现的函数体以及定义类所需要的各种私有函数。封装,实现类的接口和实现的分离,封装后的类隐藏了它的实现细节,用户只能使用接口,而无法访问实现部分。3).类要想实现数据抽象和封装,定义一个抽象数据类型类的设计者负责设计考虑类(接口)的实现使用者只需要思考类型做了什.原创 2021-07-18 09:13:22 · 583 阅读 · 0 评论 -
C++_Primer_学习笔记_第十二章(动态内存)
第十二章(动态内存)1).动态分配对象的生存期和它们在哪里创建是没有关系的,只有显式地被释放时,这些对象才会被释放。2).为了解决动态对象能够被正确释放的问题,设置了智能指针。当一个对象应该被释放时,指向它的智能指针可以确保自动地释放它。3).静态内存。局部static变量。类的static数据成员全局变量4).栈内存。保存局部变量。5).静态内存和栈内存,由编译器自动创建和销毁。6).程序的自由空间,或者堆。程序可以用堆,存储动态分配(程序运行时分配)的对象(它的创建和销毁由程序代码原创 2021-07-16 22:07:38 · 269 阅读 · 3 评论 -
C++_Primer_学习笔记_第十一章(关联容器)
第十一章(关联容器)1).关联容器按照关键字进行存储和访问。顺序容器是按照位置进行储存和访问的。2).容器的分类。关联容器支持高效的关键字查找和访问。两个主要的关联容器:map存储的是关键字——值对(key-value),关键字起到索引的作用,值就是和关键字相关的数据。例如,单词就是索引,释义就是值。set只存储关键字,关键字就是值。支持高效的关键字查询操作——检查一个关键字是否在set中。以下是标准库定义的八种关联容器。主要以三个维度进行划分。unorderedmulti原创 2021-07-15 23:52:51 · 194 阅读 · 0 评论 -
C++_Primer_学习笔记_第十章(泛型算法)
第十章(泛型算法)1).容器定义的操作集合很小。因为标准库不是给每一个容器添加大量的功能。思想是提供一组通用的的算法,也就是泛型算法。2).这些算法是不指针特定类型容器或者特定类型的元素的。不仅仅可以用于标准库类型vector和list还可以用于内置的数组类型甚至是其他类型的序列3).顺序容器只定义了少量的操作。更多的操作例如查找特定的元素,替换或者删除一些特定值,或者重排元素等。标准库定义了一组泛型算法,是经典算法的公共接口。/1.概述1).算法所在头文件。大多数算法,algori原创 2021-07-14 22:29:17 · 267 阅读 · 1 评论 -
C++_Primer_学习笔记_第九章(顺序容器)
第九章(顺序容器)本章要点,顺序容器,元素在顺序容器中的位置和其加入容器时的顺序相互一致。关联容器(分为有序和无序),关联容器中元素的位置由元素相互关联的关键字值决定。后序介绍特有操作。所有的容器都享有公共的接口,不同的容器按不同的方式对它进行扩展。公共接口使得,我们基于某种容器学习的内容也都适用于其他的容器。每一种容器,都提供了不同的性能和功能的权衡。容器是什么?容器就是一些特定类型对象的集合。三中容器适配器,分别为容器操作定义了不同的接口,来与容器的类型适配。/1.顺序容器概述1).原创 2021-07-12 23:47:09 · 312 阅读 · 2 评论 -
C++_Primer_学习笔记_第八章(IO库)
第二部分(C++标准库)1).了解C++标准库设施很重要。2).除了使用标准库读写与控制台相关联的流之外,学习其他的库类型,帮助我们读写命名文件以及完成string对象的内存IO操作。3).标准库的核心是很多容器类和一族泛型算法,这些设施可以帮助我们编写简洁高效的程序。4).标准库会去关注那些簿记操作的细节,特别是内存管理,这样我们的程序就可以将全部的注意力投入到需要求解的问题上。5).vector的更多相关内容,以及顺序容器;string支持的操作,可以将string看成是只包含字符元素的特殊.原创 2021-07-10 21:56:26 · 217 阅读 · 0 评论