对象的组织
const 对象,对象数组,对象指针,堆对象
new和delete表达式的工作步骤
需要了解new / delete表达式的工作步骤,以此为依据更合理地设计类的成员函数来进行对象的创建和回收。operator new/operator delete在平时不需要特别地写出,使用默认的即可。只在如上的特别的需求下,可以显式定义出来,实现不同的限制效果
特殊的数据成员和成员函数
了解这些特殊的成员函数和成员变量,会让我们不迷糊,否则你都不知道为什么错
拷贝构造函数
构造函数就是初始化成员变量,指针成员变量还要申请堆空间来初始化,如果有实际数据,就在函数体中初始化。那么拷贝构造函数和构造函数唯一的不同是,拷贝构造函数是用存在的同类对象初始化正在创建的同类对象的成员变量,构造函数是用全部或部分的成员变量参数来初始化正在创建的同类对象的成员变量。
Effective C++ 改善程序与设计的55个具体做法
用这些条款规范自己的代码规则,极个别条款因个人当下情况选择移除
析构函数
我们自定义的析构函数是回收自己类中的成员变量,通过 delete 去回收 拥有堆内存的成员变量。但是它不具备 delete 自身的能力,因此我们讲 使用者创建该对象之后(堆上的对象),记得 delete 掉。后面学习智能指针就更方便,它会自动将管理的对象,在对象销毁之后,自动 delete 掉该对象。注意析构函数不是智能指针调用的,而是对象本身销毁之后自己会调用,但是对象本身的堆内存 delete 会由智能指针完成。
构造函数
类的数据成员中有指针时,意味着创建该类的对象时要进行指针成员的初始化,需要申请堆空间。在初始化列表中申请空间,在函数体中复制内容。
Redis集群
Cluster模式是Redis的一种高级集群模式,它通过数据分片和分布式存储实现了负载均衡和高可用性。在Cluster模式下,Redis将所有的键值对数据分散在多个节点上。每个节点负责一部分数据,称为槽位。通过对数据的分片,Cluster模式可以突破单节点的内存限制,实现更大规模的数据存储
MySQL事务
MySQL 事务是一组被作为一个单独单元执行的操作,要么全部执行,要么全部回滚。事务主要用于保证数据的完整性,尤其是在多步骤操作中(例如涉及多个表的增删改操作),可以确保整个过程要么全部成功,要么全部撤销
基于锁的并发数据结构
互斥锁提供了互斥:一次只能有一个线程获得互斥锁。互斥锁保护数据结构是通过显式地阻止对它所保护数据的真正并发访问来实现的。这称为串行化:线程轮流访问被互斥锁保护的数据。它们必须串行而非并发的访问它。因此,必须仔细考虑数据结构的设计,使得能够真正的并发访问。虽然有些数据结构比其他数据结构具有更大的并发范围,但在所有情况下,其思想都是相同的:受保护的区域越小,串行化的操作就越少,并发的潜力也就越大。
13456717