![](https://img-blog.csdnimg.cn/ba3566e215e043d7ae2ac8a713ff9c7e.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
《C++ Primer Plus》笔记
文章平均质量分 89
C++ Primer Plus读书笔记
itzyjr
Stay hungry,Stay foolish!
展开
-
《C++ Primer Plus》书目录
《C++ Primer Plus》书目录原创 2020-05-08 15:27:47 · 3482 阅读 · 0 评论 -
cpp各章节必知必会——问题集锦
第2章:开始学习C++1.源代码生成可执行代码的过程?2.编译指令与有何区别?3.与对应于C中的什么函数,要包含哪个头文件?4.与有何区别?5.函数返回的值是什么含义?是返回给程序其他部分还是操作系统?第3章:处理数据1.通过输出十进制、十六进制和八进制,分别用什么?2.程序将把1492存储为、还是其他整型呢?3.有原型:那么与有区别吗?4.什么是?它的用法类似于?通用字符名的表示有哪两种前缀,含义有何不同?后缀表示的那些位是字符的哪个国际标准的码点?例如:ö的国际标准码点为00F6,â的原创 2022-08-08 23:55:54 · 3216 阅读 · 0 评论 -
第16章-cpp string类和标准模板库
构造函数string(string&& str)类似于复制构造函数,导致新创建的string为str的副本。但与复制构造函数不同的是,它不保证将str视为const。构造函数string(initializer_list il)让您能够将列表初始化语法用于string类。是一个依赖于实现的整型,是在头文件string中定义的。,同时省略了与内存管理相关的参数(这将在本章后面和附录F中讨论)。定义为字符串的最大长度,通常为unsigned int的最大值。的一个typedef。原创 2022-08-19 17:36:38 · 397 阅读 · 0 评论 -
第15章-cpp友元、异常和其他(类型转换)
本章内容包括:友元类。 友元类方法。 嵌套类。 引发异常、try块和catch块。 异常类。 运行阶段类型识别(RTTI)。 dynamic_cast和typeid。 static_cast、const_cast和reiterpret_cast。一、友元前面我们将友元函数用于类的扩展接口中,类并非只能拥有友元函数,也可以将类作为友元。在这种情况下,友元类的所有方法都可以访问原始类的私有成员和保护成员。另外,也可以做更严格的限制,只将特定的成员函数指定为另一个类的友元。哪些函数、成员函..原创 2022-03-15 16:41:02 · 783 阅读 · 0 评论 -
第14章-cpp代码重用(其他继承&模板)
一、包含对象成员的类valarray类:valarray类由头文件<valarray>支持。它是个模块类。模板特性意味着声明对象时,必须指定具体的数据类型。valarray<int> q_values;// an array of intvalarray<double> weights;// an array of doubledouble gpa[5] = {3.1, 3.5, 3.8, 2.9, 3.3};valarray<double&.....原创 2022-03-14 19:52:56 · 963 阅读 · 2 评论 -
第13章-cpp类继承
面向对象编程的主要目的之一是提供可重用的代码。开发新项目,尤其是当项目十分庞大时,重用经过测试的代码比重新编写代码要好得多。使用已有的代码可以节省时间,由于已有的代码已被使用和测试过,因此有助于避免在程序中引入错误。另外,必须考虑的细节越少,便越能专注于程序的整体策略。C++类提供了更高层次的重用性。目前,很多厂商提供了类库,类库由类声明和实现构成。因为类组合了数据表示和类方法,因此提供了比函.........原创 2019-12-09 23:23:10 · 2149 阅读 · 0 评论 -
第12章-cpp类和动态内存分配
通常,最好是在程序运行时(而不是编译时)确定诸如使用多少内存等问题。对于在对象中保存姓名来说,通常的C++方法是,在类构造函数中使用new运算符在程序运行时分配所需的内存。为此,通常的方法是使用string类,它将为您处理内存管理细节。但这样您就没有机会更深入地学习内存管理了,因此这里将直接对问题发起攻击。除非同时执行一系列额外步骤,如扩展类析构函数、使所有的构造函数与new析构函数协调一致、编写.........原创 2019-12-05 16:04:20 · 944 阅读 · 0 评论 -
第11章-cpp使用类
运算符重载:运算符重载将重载的概念扩展到运算符上,允许赋予C++运算符多种含义。实际上,很多C++(也包括C语言)运算符已经被重载。例如,将*运算符用于地址,将得到存储在这个地址中的值;但将它用于两个数字时,得到的将是它们的乘积。C++根据操作数的数目和类型来决定采用哪种操作。C++允许将运算符重载扩展到用户定义的类型,例如,允许使用+将两个对象相加。编译器将根据操作数的数目和类型决定使用.........原创 2019-11-30 13:06:52 · 626 阅读 · 0 评论 -
第10章-cpp对象和类
一、过程性编程和面向对象编程采用过程性编程方法时,首先考虑要遵循的步骤,然后考虑如何表示这些数据(并不需要程序一直运行,用户可能希望能够将数据存储在一个文件中,然后从这个文件中读取数据)。采用OOP方法时,首先从用户的角度考虑对象——描述对象所需的数据以及描述用户与数据交互所需的操作。完成对接口的描述后,需要确定如何实现接口和数据存储。最后,使用新的设计方案创建出程序。二、抽象和类...原创 2019-11-27 19:12:52 · 645 阅读 · 0 评论 -
第9章-cpp内存模型和名称空间
与其将结构声明加入到每一个文件中,不如将其放在头文件中,然后在每一个源代码文件中包含该头文件。这样,要修改结构声明时,只需在头文件中做一次改动即可。另外,也可以将函数原型放在头文件中。因此,可以将原来的程序分成三部分。头文件:包含结构声明和使用这些结构的函数的原型。 源代码文件:包含与结构有关的函数的代码。 源代码文件:包含调用与结构相关的函数的代码。请不要将函数定义或变量声明放到头文件......原创 2019-11-23 05:40:54 · 566 阅读 · 0 评论 -
第8章-cpp函数探幽
编译过程的最终产品是可执行程序——由一组机器语言指令组成。运行程序时,操作系统将这些指令载入到计算机内存中,因此每条指令都有特定的内存地址。计算机随后将逐步执行这些指令。有时(如有循环或分支语句时),将跳过一些指令,向前或向后跳到特定地址。常规函数调用也使程序跳到另一个地址(函数的地址),并在函数结束时返回。下面更详细地介绍这一过程的典型实现。执行到函数调用指令时,程序将在函数调用后立即存储该指令......原创 2019-11-21 22:12:36 · 411 阅读 · 0 评论 -
第7章-cpp函数——C++的编程模块
为何编译器需要原型,函数参数和按值传递,函数和数组,将数组作为参数意味着什么,理解函数按值传递,使用数组区间的函数,函数和二维数组,函数和结构,函数与string对象,函数与array对象,递归,函数指针,使用typedef进行简化...原创 2019-11-17 20:39:04 · 566 阅读 · 0 评论 -
第6章-cpp分支语句和逻辑运算符/文本文件IO(ofstream/ifstream)
字符函数库cctype:#include <iostream>#include <cctype> // prototypes for character functionsint main(){ using namespace std; cout << "Enter text for analysis, and type ...原创 2019-11-17 10:02:57 · 575 阅读 · 0 评论 -
第5章-cpp循环和关系表达式(键盘/EOF/逐字符及文本文件输入)
C-风格字符串的比较:word == "mate",这行代码并不能像我们预想的那样工作。请记住,数组名是数组的地址。同样,用引号括起的字符串常量也是其地址。因此,上面的关系表达式不是判断两个字符串是否相同,而是查看它们是否存储在相同的地址上。两个字符串的地址是否相同呢?答案是否定的,虽然它们包含相同的字符。可以用strcmp(str1, str2)函数来进行比较,它是按字母表逐一比较,......原创 2019-11-16 07:59:16 · 591 阅读 · 0 评论 -
第4章-cpp复合类型
数组的初始化规则:只有在定义数组时才能使用初始化,此后就不能使用了,也不能将一个数组赋给另一个数组:int cards[4] = {3, 6, 8, 10}; // OKint counts[10]= {}; // OK,all elements set to 0int hand[4]; // OKhand[4] = {5, 6......原创 2019-11-16 05:29:47 · 719 阅读 · 0 评论 -
第3章-cpp处理数据
C++提供了一种灵活的标准,它确保了最小长度(从C语言借鉴而来),如下所示:short 至少16位;int 至少与short一样长;long 至少32位,且至少与int一样长;long long 至少64位,且至少与long一样长。如果要以十六进制或八进制方式显示值,则可以使用cout的一些特殊特性。前面指出过,头文件iostream提供了控制符endl,用于指示cout重起一行。......原创 2019-11-14 00:24:21 · 736 阅读 · 0 评论 -
第2章-cpp开始学习C++
生成可执行代码的过程:#include <iostream>int main() { using namespace std; cout << "Come up and C++ me some time."; cout << endl; cout << "You won't regret it!" <...原创 2019-11-13 22:21:39 · 319 阅读 · 0 评论