C++之旅
文章平均质量分 88
这个专栏专门记录了笔者阅读C++之父新作《C++之旅》这本的阅读笔记
霜晨月c
https://xiaose-code.github.io/
欲买桂花同载酒,终不似,少年游。
展开
-
Cpp之旅(学习笔记)第10章 字符串和正则表达式
本章主要介绍了字符串、字符串视图和正则表达式等知识原创 2023-12-01 11:10:52 · 982 阅读 · 0 评论 -
Cpp之旅(学习笔记)第9章 标准库
当无知稍纵即逝时,又何必浪费时间学习呢?——霍布斯。原创 2023-12-01 09:33:27 · 885 阅读 · 0 评论 -
C++之旅(学习笔记)第1章 基础
C++是一门编译型语言。源代码必须交由编译器处理生成可执行文件,然后由链接器组装成可执行程序。一个可执行文件通常是为一个特定的硬件与操作系统组合而制定的,换句话说,它在安卓设备与Windows个人电脑之间是不可移植的,因此,可移植性指的是源代码的可移植性,即源代码可以在多种系统中编译成功,然后运行。定义一个main函数,不接受任何参数,也不做任何事情。原创 2023-11-07 17:29:28 · 571 阅读 · 0 评论 -
C++之旅(学习笔记)第2章 用户自定义类型
如果不想显式指定枚举地名称,并且希望枚举值的类型直接是int(而不需要显式类型转换),可以去掉enum class中的class字样,得到一个“普通的”enum。与所属类同名的成员函数被称为构造函数,即它是用来构造类的对象的。这条语句的含义是:首先从自由存储分配能容纳s个double类型的元素的空间,用指向这个空间的指针初始化elem,然后将sz初始化为s。union是一种特殊的struct,它的所有成员都被分配在同一块内存区域中,因此,union实际占用的空间就是它最大的成员所占的空间。原创 2023-11-08 17:20:34 · 88 阅读 · 0 评论 -
C++之旅(学习笔记)第3章 模块化
C++支持一种名为分离编译的概念,用户代码只能看见所用类型和函数的声明。模块技术是在C++20中出现地新特性,其提供了实质性地优势,对改善代码组织与编译耗时都有好处。一个单独编译的.cpp文件(包含它#include的.h文件)被称作一个翻译单元。原创 2023-11-08 17:21:45 · 217 阅读 · 0 评论 -
C++之旅(学习笔记)第4章 错误处理
当我们试图越界访问Vector动态数组时,应该发生什么?假定可从下标越界的访问错误中恢复,那么Vector类的解决方案是实现者检测所有的越界访问并且告知用户。然后用户执行合适的操作。例如:Vector::operator异常处理机制可以是错误处理更简单、更系统化,同时提升可读性。让异常处理变得简单与系统化的主流技术(RAII的基本思想:让构造函数负责获取类需要的资源,同时让析构函数负责释放资源,这样就可让资源释放可靠地自动进行。原创 2023-11-09 16:28:18 · 40 阅读 · 0 评论 -
C++之旅(学习笔记)第5章 类
本章通俗地介绍定义和使用新类型(用户自定义类型)地方式,重点介绍与具体类、抽象类和类层次结构有关的基本属性、实现技术以及语言特性。原创 2023-11-09 16:30:42 · 457 阅读 · 0 评论 -
C++之旅(学习笔记)第6章 基本操作
在C++标准库中,RAII无处不在:例如,内存(string、vector、map、unordered_map等)、文件(ifstream、ofstream等)、线程(thread)、锁(lock_guard、unique_lock等)和通用对象(通过unique_ptr和shared_ptr访问)。当给函数传递对象时,可通过使用引用类型来减少拷贝对象的代价,但是无法返回局部对象的引用(函数的调用者都没机会和返回结果碰面,局部对象就被销毁了)。内存也不是唯一的一种资源。原创 2023-11-10 16:01:36 · 296 阅读 · 0 评论 -
C++之旅(学习笔记)第7章 模板
模板是一个类或者一个函数,我们用一组类型或值对其进行参数化。原创 2023-11-14 10:08:26 · 240 阅读 · 0 评论 -
C++之旅(学习笔记)第8章 概念和泛型编程
模板第一个最常用的应用是泛型编程,泛型编程主要关注通用算法的设计、实现和使用。这里“通用”的含义是该算法能支持多种数据类型,只要类型符合算法对参数的要求即可。原创 2023-11-17 16:38:28 · 838 阅读 · 0 评论