在线文档教程

Library Concepts

图书馆概念

概念是描述命名要求集作为一种类型。

概念的形式规范%28 iso/iec TS 19217:2015%29是一项实验技术规范,可以在过载分辨率和模板专业化...

图书馆概念本页面列出了C++标准规范文本中使用的命名需求,以定义标准库的期望。这些要求正在使用上述技术规范的设施正式化,作为上述技术规范的一部分。范围TS预期未来版本的C++标准库将包括这些正式定义。在此之前,程序员有责任确保用满足这些需求的模板参数实例化库模板。如果不这样做,可能会导致非常复杂的编译器诊断。

基本

*。

DefaultConstrucable指定类型的对象可以默认构造%28概念%29

MoveConstrucable%28C++11%29指定类型的对象可以从rvalue%28概念%29构造

CopyConstrucable指定类型的对象可以从lvalue%28概念%29构造

MoveAssignable%28C++11%29指定类型的对象可以从rvalue%28概念%29分配。

CopyAssignable指定类型的对象可以从lvalue%28概念%29分配

可销毁指定类型的对象可以销毁%28概念%29

布局

请注意,标准没有定义命名需求或概念,其名称在此子类别中指定。这些是由核心语言定义的类型类别。在这里,它们只是为了一致性而作为概念被包括进来。

TriviallyCopable%28C++11%29类,具有简单的复制、赋值和析构函数%28概念%29

TrivialType%28C++11%29类,具有平凡的构造函数、赋值和析构函数%28概念%29

StandardLayoutType%28C++11%29非虚拟类,仅包含其他标准层成员,都具有相同的访问控制%28概念%29

PODType POD%28纯旧数据%29结构,与C结构%28概念%29兼容

图书馆范围

可比较算子==是等价关系%28概念%29

LessThanable算子<是严格弱序关系%28概念%29

可交换%28C++11%29可以用不合格的非成员函数调用交换(交换)%28%29%28概念%29来交换。

价值可互换%28C++11%29一个可转换类型%28概念%29的迭代器

NULABLEPOINTER%28C++11%29支持空值%28概念%29的指针样类型

哈希%28C++11%29函数对于不同值的输入,提供相同输出的概率很低

分配器:包含分配信息%28概念%29的类类型

通过函数调用语法%28概念%29可以调用的对象

可调用的类型,其调用操作定义为%28概念%29

谓词一个FunctionObject,它为一个参数返回一个可转换为bool的值,而不修改它%28概念%29

BinaryPredicate一个FunctionObject,它为两个参数返回一个可转换为bool的值,而不修改它们%28概念%29

比较建立排序关系%28概念%29的二数预测

集装箱

*。

容器数据结构,允许使用迭代器%28概念%29访问元素

使用双向迭代器%28概念%29的容器容器

分配程序使用分配器%28概念%29的分配器的分配器容器%28C++11%29

元素线性存储的顺序容器%28概念%29

ContiguousContainer%28C++17%29容器中存储在相邻内存地址中的元素%28概念%29

关联容器容器,它通过将元素与键%28概念%29相关联来存储元素

UnorderedAssociativeContainer%28C++11%29容器,该容器通过将元素与键%28概念%29相关联来存储存储在桶中的元素

容器元件

DefaultInsertable%28C++11%29元素可以默认设置-在未初始化的存储中构造

CopyInsertable%28C++11%29元素可以在未初始化的存储中复制构造

MoveInsertable%28C++11%29元素可以在未初始化的存储区中移动构造

EmplaceConstrucable%28C++11%29元素可以在未初始化的存储中构造

可擦除%28C++11%29元素可以使用分配器%28概念%29销毁

迭代器

Iterator通用概念访问某些数据结构内的数据%28概念%29

可用于读取数据的InputIterator迭代器%28概念%29

输出迭代器,可用于写入数据%28概念%29

可用于多次读取数据的前置迭代器%28概念%29

双向迭代器,既可以递增,也可以减少%28概念%29

可以在固定时间内改进的RandomAccessIterator迭代器

连续分配元素%28C++17%29迭代器%28概念%29

流I/O函数

UnformattedInputFunction--一个流输入函数,它不跳过前导空格,并计数处理过的字符%28概念%29

FormattedInputFunction--一个流输入函数,它跳过前导空格%28概念性%29

未格式化输出函数基本流输出函数%28概念%29

FormattedOutputFunction--一个流输出函数,它对错误设置故障位,并返回对流%28概念%29的引用

随机数生成

SeedSequence%28C++11%29使用一个整数序列,并生成32位无符号值序列%28概念%29。

UniformRandomBitGenerator%28C++11%29返回均匀分布的无符号整数%28概念%29

RandomNumberEngine%28C++11%29是一个确定性的UniformRandomBitGenerator,由种子%28概念%29定义

RandomNumberEngineAdaptor%28C++11%29一个RandomNumberEngine转换另一个RandomNumberEngine%28概念%29的输出

随机数分布%28C++11%29返回按给定的数学概率密度函数%28概念%29分配的随机数

并发性

BasicLocable%28C++11%29为执行代理%28i.e提供了独占所有权语义。线程%29%28概念%29

可锁定%28C++11%29一个基本可锁定,支持尝试锁获取%28概念%29

TimedLocable%28C++11%29支持定时锁定获取%28概念%29

Mutex%28C++11%29是一种可锁定的,可以防止数据竞争和顺序一致的同步%28概念%29

TimedMutex%28C++11%29一个TimedLocable,可防止数据竞争,并顺序一致地同步%28概念%29

SharedMutex%28C++17%29支持共享所有权语义%28概念%29的Mutex

SharedTimedMutex%28C++14%29一个支持共享所有权语义%28概念%29的TimedMutex

其他

UnaryTypeTrait%28C++11%29描述了类型%28概念%29的属性

BinaryTypeTrait%28C++11%29描述了两种类型之间的关系%28概念%29

TransformationTrait%28C++11%29修改类型%28概念%29的属性

Clock%28C++11%29聚合一个持续时间、一个时间点和一个函数,以获得当前时间点%28概念%29。

TrivialClock%28C++11%29一个不抛出异常的时钟

CharTraits定义字符类型%28概念%29的类型和函数

pos[医]类型表示流%28概念%29中的位置

脱[医]类型表示流%28概念%29中的偏移量。

BitmaskType位集、整数或枚举%28概念%29

数字类型初始化实际上等于赋值%28概念%29的类型

RegexTraits%28C++11%29定义正则表达式库%28概念性%29所使用的类型和函数

文字类型%28C++11%29 a类型,构造函数%28概念%29

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/概念性