C++ Primer
文章平均质量分 93
madkeyboard
。
展开
-
《c++ primer笔记》第十五章 OOP
面向对象程序设计的核心思想:==数据抽象、继承和动态绑定==。数据抽象可以将类的接口与实现分离;继承可以定义相似的类型并对其相似关系建模;动态绑定可以在一定程度上忽略相似类型的区别,以统一的方式使用它们的对象。原创 2023-05-30 09:07:20 · 580 阅读 · 0 评论 -
《c++ primer笔记》第十四章 重载运算与类型转换
根据一个类提供的操作去考虑把哪些类操作设计成普通函数或者重载运算符,那些在逻辑上与运算符有关的操作就适合被定义成重载的运算符。原创 2023-05-11 18:16:17 · 759 阅读 · 0 评论 -
《c++ primer笔记》第十三章 拷贝控制
拷贝初始化发生的场景:- 将一个对象作为实参传递给一个非引用类型的形参- 从一个返回类型为非引用类型的函数返回一个对象- 用花括号列表初始化一个数组中的元素或一个聚合类中的成员原创 2023-04-24 19:29:23 · 557 阅读 · 0 评论 -
《c++ primer笔记》第十二章 动态内存
目前写的程序都只使用过静态内存和栈内存。==静态内存==用来保存局部`static`对象、类static数据成员以及定义在任何函数之外的变量。==栈内存==用来保存定义在函数内的非`static`对象。==分配在静态或栈内存中的对象由编译器自动创建和销毁,对于栈对象,仅在其定义的程序块运行时才存在:static对象在使用之前分配,在程序结束时销毁原创 2023-03-30 12:06:47 · 244 阅读 · 0 评论 -
《c++ primer笔记》第十一章 关联容器
关联容器支持高效的关键字查找和访问,两个主要的关联容器类型是`map`和`set`。标准库提供8个关联容器,它们的不同有三点:1)`set`或者`map`;2)关键字是否重复;3)元素保存顺序。原创 2023-03-20 22:59:39 · 535 阅读 · 0 评论 -
《c++ primer笔记》第十章 泛型算法
大多数算法都在头文件`algorithm`中定义,一般来说这些算法并不直接操作容器,而是通过迭代器去锁定访问元素的范围以及通过迭代器的解引用去获取元素值。==迭代器的使用使算法不依赖于容器类型。但是大多数算法都使用了一个元素类型上的操作。算法永远不会改变容器的大小。==原创 2023-03-15 20:59:57 · 698 阅读 · 0 评论 -
《c++ primer笔记》第九章 顺序容器
将一个新容器创建为另一个容器的拷贝的方法:1)直接拷贝整个容器(两个容器的类型必须相同);2)拷贝一个由迭代器指定的元素范围(`array除外`)(两个迭代器的类型可以不同,只要元素能够转换)原创 2023-03-09 22:09:09 · 246 阅读 · 0 评论 -
《c++ primer笔记》第八章 IO库
我们常见的流有`istream和ostream`,这两个流都是有关输入和输出的,此外,下标列举了一些其它的`IO类型`。`fstream`定义了读写命名文件的类型,`sstream`定义了读写内存`string`对象的类型。原创 2023-03-06 21:31:43 · 530 阅读 · 0 评论 -
《c++ primer笔记》第七章 类
类的基本思想是数据抽象和封装。数据抽象是一种依赖于接口和实现分离的编程技术。封装实现了类的接口和实现的分离。原创 2023-03-01 20:34:49 · 317 阅读 · 0 评论 -
《c++ primer笔记》第六章 函数
本章的重点:函数的参数传递、函数重载。在参数传递中涉及到了很多第二章关于const的内容,建议可以先复习一下相应内容再看会轻松很多。函数重载主要是要清楚重载函数匹配的过程,编译器匹配的规则的排序是什么。函数指针记录得不多,可以把它看成复杂一点的数组指针。原创 2023-02-05 19:13:03 · 413 阅读 · 0 评论 -
《c++ primer》第五章 语句
一条表达式语句以`;`结尾,它的作用是执行表达式并丢弃掉求值结果。一行如果只有一个`;`也是一条语句,称为空语句。复合语句时用`{}`括起来的语句或者声明, 也称为块,第二章在作用域有提到一个块就是一个独立的作用域。如果一个`{}`里面什么也没有,称为空块。原创 2023-01-24 15:11:34 · 770 阅读 · 0 评论 -
《c++ primer》第四章 表达式
在`C++`中,表达式要么是左值,要么是右值。一个左值表达式的求值结果是一个对象或者一个函数;一个对象被用作右值时,实际用的是对象的值,而用作左值时,实际用的是对象在内存中的位置。**左值可以替代右值,反之不行**。在使用关键字`decltype`时,如果**表达式**的求值结果是左值,最后的结果是一个**引用类型**;反之得到的结果是一个**指针**。如下。原创 2023-01-20 10:35:04 · 622 阅读 · 0 评论 -
《c++ primer》第三章 字符串、vector、数组
本章内容相比第二章要简单不少,里面比较重要的内容主要是vector和迭代器,这里只是很简单的介绍了一下,在后续的章节会有更详细、复杂的说明。以下记录的都是比较重要或者易混淆的知识点,对于像string、vector只列举了部分方法的例子。原创 2023-01-13 16:59:34 · 894 阅读 · 0 评论 -
《c++ primer笔记》第二章 变量和基本类型
C++包含==算术类型==和==空类型==两种基本数据类型。算术类型包含字符、整型数、布尔值和浮点数;空类型不对应具体的值,常见的比如写一个void的函数。下图是算术类型的表格,不同类型所占比特数不同,它们可以表示的范围也不一样。==long long==是C++11的新特性。对于浮点型,float和double分别有7和16个有效位。原创 2023-01-11 23:02:34 · 619 阅读 · 0 评论