
Effective C++_第二篇
12 复制对象的所有部分 概述 在C++中,实现拷贝构造函数和赋值运算符时,确保复制对象的所有成员变量是至关重要的 忽略某些成员变量可能会导致不完整或错误的对象状态,进而引发难以追踪的错误 为什么要复制对象的所有部分...
12 复制对象的所有部分 概述 在C++中,实现拷贝构造函数和赋值运算符时,确保复制对象的所有成员变量是至关重要的 忽略某些成员变量可能会导致不完整或错误的对象状态,进而引发难以追踪的错误 为什么要复制对象的所有部分...
语言特性 概念Concepts 概述 概念用于约束模板参数,提供了一种简洁的方式来指定模板参数的要求 约束模板参数,增强代码可读性和错误提示 示例 示例1 #include <concepts> #inc...
结构化绑定 结构化绑定允许我们解构和绑定返回的元组、数组或结构体中的值,使得代码更加简洁和可读 #include <tuple> #include <iostream> std::tuple&...
变量模板 C++14引入了变量模板,使得可以为变量定义模板 template<typename T> constexpr T pi = T(3.1415926535897932385); std::cou...
模板 概述 C++模板是一个强大的编程工具,使得可以编写通用的、类型安全的代码 模板主要用于函数和类的泛型编程,允许你定义通用算法和数据结构,然后在需要时使用具体类型进行实例化 使用场景 通用算法: 模板允许你编写通...
多态 概述 多态性(Polymorphism)是面向对象编程的一个核心概念,它允许同一个接口调用在不同对象上执行不同的操作 在C++中,多态性主要通过继承和虚函数实现 多态性使代码更具灵活性和可扩展性 因为你可以编写...
友元类 适用情况 紧密协作: 当两个类需要紧密协作,且需要共享内部实现细节时 例如,操作类需要访问数据类的内部数据来实现复杂的功能 封装复杂操作: 当某些复杂操作不能或不应成为数据类的成员函数时 通过友元类可以将这些...
关于继承 概念定义 用户 把包含这个基类或派生类的第三方类或函数暂时称为用户 基类定义如图: public继承 class Derived : public Base { ... } 含义 基类的 public 成员...
核心结构简述 画布 canvas 画布是Skia绘图操作的核心 它提供了一个虚拟的绘图空间,你可以在上面绘制形状、文本和图像 画笔 paint 画笔用于定义绘图操作的样式和颜色 可以设置笔刷的颜色、透明度、填充模式等...
自旋锁 用ATOMIC_FLAG_INIT进行了flag的初始化 它确保了flag的初始状态是清除(或说“未设置”)状态 lock调用了test_and_set方法来试图获取锁 test_and_set会检查flag...