所有模式

算法

复制一个范围内的元素

需要 c++11 或更新版本

将一个范围内的元素复制到另一个范围或容器。

计算值在一个范围内的出现次数

需要 c++98 或更新版本

计算特定值在一个元素范围内的出现次数。

对一个范围内的元素进行排序

需要 c++11 或更新版本

将一个范围内的元素按给定顺序排序。

交换容器

需要 c++98 或更新版本

交换两个容器的内容。

交换值

需要 c++98 或更新版本

交换两个对象的值。

复制并交换 (Copy-and-swap)

需要 c++11 或更新版本

以强异常安全的方式实现赋值运算符。

将行为委托给派生类

需要 c++98 或更新版本

将行为委托给派生类,而不产生运行时多态的开销。

字典序

需要 c++11 或更新版本

在类成员上实现字典序。

非成员非友元接口

需要 c++98 或更新版本

减少对类内部细节的依赖并改善封装性。

PIMPL 惯用法

需要 c++11 或更新版本

移除对类内部实现的编译依赖,并缩短编译时间。

五法则

需要 c++11 或更新版本

安全高效地实现 RAII,以封装动态分配资源的管理。

零法则

需要 c++98 或更新版本

利用现有类型的值语义,避免实现自定义的复制和移动操作。

虚拟构造函数

需要 c++11 或更新版本

通过指向基类型的指针创建对象的副本。

并发

创建一个线程

需要 c++11 或更新版本

在一个单独的线程上执行代码。

异步执行任务

需要 c++11 或更新版本

高级别的任务异步执行。

在线程间传递值

需要 c++11 或更新版本

使用 promise 在线程间传递值。

容器

检查键是否存在

需要 c++11 或更新版本

检查某个特定的键是否存在于关联容器中。

从容器中移除元素

需要 c++11 或更新版本

使用 erase-remove 惯用法从容器中移除元素。

函数

将元组应用于函数

需要 c++14 或更新版本

将元组解包作为函数的参数。

可选参数

需要 c++17 或更新版本

允许在调用函数时省略参数值。

传递数组

需要 c++11 或更新版本

向函数传入和从函数传出固定大小的数组。

返回多个值

需要 c++11 或更新版本

从一个函数返回多个不同类型的值。

输入流

逐行读取

需要 c++98 或更新版本

逐行处理输入流的内容。

读取一行值

需要 c++98 或更新版本

从输入流的一行中读取一系列分隔值到一个标准容器中。

验证多次读取

需要 c++98 或更新版本

在使用提取的值之前,确保多次流读取都成功。

内存管理

共享所有权

需要 c++11 或更新版本

与另一代码单元共享一个动态分配对象的所有权。

独占所有权

需要 c++11 或更新版本

将一个动态分配对象的独占所有权转移给另一代码单元。

使用 RAII 类型

需要 c++98 或更新版本

避免手动内存管理,以提高安全性、减少错误和内存泄漏。

弱引用

需要 c++11 或更新版本

维护对共享动态分配对象的非所有权引用,以打破循环依赖。

输出流

重载 operator<<

需要 c++98 或更新版本

将你的类类型对象写入输出流。

按列写入数据

需要 c++98 或更新版本

在写入输出流时将数据按列对齐。

随机数生成

选择一个随机元素

需要 c++11 或更新版本

从容器中选择一个随机元素。

抛掷一枚有偏的硬币

需要 c++11 或更新版本

根据伯努利分布生成一个随机布尔值。

掷骰子

需要 c++11 或更新版本

根据均匀分布生成一个随机整数。

不可预测的随机数

需要 c++11 或更新版本

以更高的不可预测性为随机数引擎提供种子。

范围 (Ranges)

基于范围的算法

需要 c++11 或更新版本

实现可应用于任何通用元素范围的算法。

范围迭代

需要 c++11 或更新版本

在不使用迭代器或索引的情况下遍历一个元素范围。

模板

类模板 SFINAE

需要 c++11 或更新版本

根据模板参数有条件地实例化类模板。

函数模板 SFINAE

需要 c++11 或更新版本

根据模板参数有条件地实例化函数模板。

完美转发

需要 c++11 或更新版本

将一个函数的参数转发给另一个函数,就好像被包装的函数被直接调用一样。

时间

固定时间步

需要 c++11 或更新版本

阻塞线程的执行,直到一个固定的时间点。

测量执行时间

需要 c++98 或更新版本

测量一段代码的执行时间。

休眠

需要 c++11 或更新版本

阻塞线程的执行一段给定的时间。

行为型

观察者模式

需要 c++11 或更新版本

当事件发生时,通知通用的观察者对象。

访问者模式

需要 c++98 或更新版本

将通用算法与其操作的元素或结构分离。

创建型

生成器模式

需要 c++98 或更新版本

将一个对象的复杂构建过程与其表示分离。

装饰器模式

需要 c++98 或更新版本

扩展一个类的功能。

← 所有模式

搜索结果