C++ 具名要求
此页面中列出的具名要求,是 C++ 标准的规范性文本中使用的具名要求,用于定义标准库的期待。
某些具名要求在 C++20 中正在以概念语言特性进行形式化。在那之前,确保以满足这些要求的模板实参实例化标准库模板是程序员的重担。若不这么做,则可能导致非常复杂的编译器诊断。
基本概念 | |
DefaultConstructible可默认构造 | 指定该类型对象可以默认构造 (具名要求) |
MoveConstructible可移动构造 (C++11) | 指定该类型对象可以从右值构造 (具名要求) |
CopyConstructible可复制构造 | 指定该类型对象可以从左值构造 (具名要求) |
MoveAssignable可移动赋值 (C++11) | 指定该类型对象可以从右值赋值 (具名要求) |
CopyAssignable可复制赋值 | 指定该类型对象可以从左值赋值 (具名要求) |
Destructible可析构 | 指定该对象可以析构 (具名要求) |
基本概念 | |
DefaultConstructible可默认构造 | 指定该类型对象可以默认构造 (具名要求) |
MoveConstructible可移动构造 (C++11) | 指定该类型对象可以从右值构造 (具名要求) |
CopyConstructible可复制构造 | 指定该类型对象可以从左值构造 (具名要求) |
MoveAssignable可移动赋值 (C++11) | 指定该类型对象可以从右值赋值 (具名要求) |
CopyAssignable可复制赋值 | 指定该类型对象可以从左值赋值 (具名要求) |
Destructible可析构 | 指定该对象可以析构 (具名要求) |
全库范围的概念 | |
EqualityComparable可相等比较 | operator== 是一种等价关系(具名要求) |
LessThanComparable可小于比较 | operator< 是一种严格弱序关系(具名要求) |
Swappable可交换 (C++11) | 可用无限定的非成员函数调用 swap() 进行交换的类型 (具名要求) |
ValueSwappable值可交换 (C++11) | 解引用为某种可交换 (Swappable) 类型的遗留迭代器 (LegacyIterator) (具名要求) |
NullablePointer可空指针 (C++11) | 支持空值的指针式类型 (具名要求) |
Hash散列 (C++11) | 函数对象 (FunctionObject) ,对于不同输入值产生相同输出具有很低概率 (具名要求) |
Allocator分配器 | 包含分配信息的类类型 (具名要求) |
FunctionObject函数对象 | 能以函数调用语法进行调用的对象 (具名要求) |
Callable可调用 | 定义了调用操作的类型 (具名要求) |
Predicate谓词 | 函数对象 (FunctionObject) ,对于一个实参,返回一个可转换为 bool 的值而不改动实参 (具名要求) |
BinaryPredicate二元谓词 | 函数对象 (FunctionObject) ,对于两个实参,返回一个可转换为 bool 的值而不改动各实参 (具名要求) |
Compare比较 | 建立一种顺序关系的二元谓词 (BinaryPredicate) (具名要求) |
容器 | |
Container容器 | 允许通过迭代器访问元素的数据结构 (具名要求) |
ReversibleContainer可逆容器 | 使用双向迭代器的容器 (具名要求) |
AllocatorAwareContainer具分配器容器 (C++11) | 使用分配器的容器 (具名要求) |
SequenceContainer序列容器 | 线性存储各元素的容器 (具名要求) |
ContiguousContainer连续容器 (C++17) | 在相邻内存地址中存储各元素的容器 (具名要求) |
AssociativeContainer关联容器 | 将元素与键相关联而存储它们的容器 (具名要求) |
UnorderedAssociativeContainer无序关联容器 (C++11) | 将元素与键关联并将它们存储于桶中的容器 (具名要求) |
容器元素 | |
DefaultInsertable可默认插入 (C++11) | 可在未初始化存储中默认构造的元素 (具名要求) |
CopyInsertable可复制插入 (C++11) | 可在未初始化存储中复制构造的元素 (具名要求) |
MoveInsertable可移动插入 (C++11) | 可在未初始化存储中移动构造的函数 (具名要求) |
EmplaceConstructible可就位构造 (C++11) | 可在未初始化存储中构造的元素 (具名要求) |
Erasable可擦除 (C++11) | 可用分配器销毁的元素 (具名要求) |
迭代器 | |
LegacyIterator遗留迭代器 | 在一些数据结构内访问数据的通用概念 (具名要求) |
LegacyInputIterator遗留输入迭代器 | 可用于读数据的迭代器 (具名要求) |
LegacyOutputIterator遗留输出迭代器 | 可用于写数据的迭代器 (具名要求) |
LegacyForwardIterator遗留向前迭代器 | 可用于多次读数据的迭代器 (具名要求) |
LegacyBidirectionalIterator遗留双向迭代器 | 可增可减的迭代器 (具名要求) |
LegacyRandomAccessIterator遗留随机访问迭代器 | 可在常数时间内增加的迭代器 (具名要求) |
LegacyContiguousIterator遗留连续迭代器 (C++17) | 指向连续分配元素的迭代器 (具名要求) |
ConstexprIterator常量表达式迭代器 (C++20) | 能在常量表达式求值中使用的迭代器 (具名要求) |
流 I/O 函数 | |
UnformattedInputFunction无格式输入函数 | 不跳过前导空格并对处理字符计数的流输入函数 (具名要求) |
FormattedInputFunction有格式输入函数 | 跳过前导空格的流输入函数 (具名要求) |
UnformattedOutputFunction无格式输出函数 | 基本流输出函数 (具名要求) |
FormattedOutputFunction有格式输出函数 | 出错时设置失败位并返回流引用的流输出函数 (具名要求) |
随机数生成 | |
SeedSequence种子序列 (C++11) | 消耗一个整数序列,产出一个 32 位无符号值的序列 (具名要求) |
UniformRandomBitGenerator均匀随机位生成器 (C++11) | 返回均匀分布的随机无符号整数 (具名要求) |
RandomNumberEngine随机数引擎 (C++11) | 由种子定义的确定性均匀随机位生成器 (UniformRandomBitGenerator) (具名要求) |
RandomNumberEngineAdaptor随机数引擎适配器 (C++11) | 对另一个随机数引擎 (RandomNumberEngine) 的输出进行变换的随机数引擎 (RandomNumberEngine) (具名要求) |
RandomNumberDistribution随机数分布 (C++11) | 返回服从给定数学概率密度函数分布的随机数 (具名要求) |
并发 | |
BasicLockable基本可锁定 (C++11) | 为执行代理(即线程)提供排他所有权语义 (具名要求) |
Lockable可锁定 (C++11) | 支持尝试进行锁获取基本可锁定 (BasicLockable) (具名要求) |
TimedLockable可定时锁定 (C++11) | 支持定时锁获取的可锁定 (Lockable) (具名要求) |
Mutex互斥体 (C++11) | 提供免受数据竞争的保护和顺序一致同步操作的可锁定 (Lockable) (具名要求) |
TimedMutex定时互斥体 (C++11) | 提供免受数据竞争的保护和顺序一致同步操作的可定时锁定 (TimedLockable) (具名要求) |
SharedMutex共享互斥体 (C++17) | 支持共享所有权语义的互斥体 (Mutex) (具名要求) |
SharedTimedMutex共享定时互斥体 (C++14) | 支持共享所有权语义的定时互斥体 (TimedMutex) (具名要求) |
其他 | |
UnaryTypeTrait一元类型特征 (C++11) | 描述一个类型的一项性质 (具名要求) |
BinaryTypeTrait二元类型特征 (C++11) | 描述两个类型间的一种关系 (具名要求) |
TransformationTrait变换特征 (C++11) | 修改一个类型的一项性质 (具名要求) |
Clock时钟 (C++11) | 聚合一种时长,一种时间点,和一个获取当前时间点的函数 (具名要求) |
TrivialClock平凡时钟 (C++11) | 不抛异常的时钟 (Clock) (具名要求) |
CharTraits字符特征 | 为字符类型定义一些类型和函数 (具名要求) |
BitmaskType位掩码类型 | 位集合、整数或枚举 (具名要求) |
NumericType数值类型 | 初始化效率相当于赋值的类型 (具名要求) |
RegexTraits正则表达式特征 (C++11) | 定义正则表达式库所使用的各个类型和函数 (具名要求) |
LiteralType字面类型 (C++11) | 拥有 constexpr 构造函数的类型 (具名要求) |
相关文章:
C++ 具名要求
此页面中列出的具名要求,是 C 标准的规范性文本中使用的具名要求,用于定义标准库的期待。 某些具名要求在 C20 中正在以概念语言特性进行形式化。在那之前,确保以满足这些要求的模板实参实例化标准库模板是程序员的重担。若不这么做…...
大创项目推荐 深度学习二维码识别
文章目录 0 前言2 二维码基础概念2.1 二维码介绍2.2 QRCode2.3 QRCode 特点 3 机器视觉二维码识别技术3.1 二维码的识别流程3.2 二维码定位3.3 常用的扫描方法 4 深度学习二维码识别4.1 部分关键代码 5 测试结果6 最后 0 前言 🔥 优质竞赛项目系列,今天…...
C++初阶——基础知识(函数重载与引用)
目录 1.命名冲突 2.命名空间 3.缺省参数 4.函数重载 1.函数重载的特点包括: 2.函数重载的好处包括: 3.引用 引用的特点包括 引用的主要用途包括 引用和指针 引用 指针 类域 命名空间域 局部域 全局域 第一个关键字 命名冲突 同一个项目之间冲…...
车载电子电器架构 —— 电子电气系统开发角色定义
车载电子电器架构 —— 电子电气系统开发角色定义 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 注:本文12000字,深度思考者进!!! 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的…...
最新Redis7哨兵模式(保姆级教学)
一定一定要把云服务器的防火墙打开一定要!!!!!!!!!否则不成功!!!!!!!!&…...
Redis原理及常见问题
高性能之道 单线程模型基于内存操作epoll多路复用模型高效的数据存储结构redis的单线程指的是数据处理使用的单线程,实际上它主要包含 IO线程:处理网络消息收发主线程:处理数据读写操作,包括事务、Lua脚本等持久化线程:执行RDB或AOF时,使用持久化线程处理,避免主线程的阻…...
nvm 的安装及使用 (Node版本管理器)
目录 1、nvm 介绍 2、nvm安装 3、nvm 使用 4、node官网可以查看node和npm对应版本 5、nvm安装指定版本node 6、安装cli脚手架 1、nvm 介绍 NVM 全称 node.js version management ,专门针对 node 版本进行管理的工具,通过它可以安装和切换不同版本的…...
【Yii2】数据库查询方法总结
目录 1.查找单个记录: 2.查找多个记录: 3.条件查询: 4.关联查询: 假设User模型有一个名为orders的多对一关联关系。 5.排序和分组: 6.数据操作: 7.事务处理: 8.命令查询: 9…...
区块链的三难困境是什么,如何解决?
人们需要保持社交、工作和睡眠之间的平衡,并且努力和谐相处。同样的概念也反映在区块链的三难困境中。 区块链三难困境是一个术语,指的是现有区块链的局限性:可扩展性、安全性和去中心化。这是一个存在了几十年的设计问题,其问题的…...
oCPC实践录 | oCPM的秘密
前言 笔者从这几方面介绍oCPM,并一一分析平台侧宣称的oCPM相比oCPC的优势,并解开其中的秘密。 1)什么是oCPM? 2)oCPC与oCPM的异同 3)平台宣称oCPM的优势 4)oCPM真正的秘密 5)oCPM下的点击率与…...
【Linux Shell学习笔记】Linux Shell的位置参数与函数
一、位置参数 位置参数,也被称之为位置变量,通过位置参数,可以在执行程序的时候,向程序传递数据 1.1 shell接收参数的方法 1.2 向shell传递参数的方法 二、函数 2.1 函数基础 2.1.1 函数简介 函数本质上就是一个代码块…...
缓存cache和缓冲buffer的区别
近期被这两个词汇困扰了,感觉有本质的区别,搜了一些资料,整理如下 计算机内部的几个部分图如下 缓存(cache) https://baike.baidu.com/item/%E7%BC%93%E5%AD%98 提到缓存(cache),就…...
Vue常见面试问答
vue响应式数据 vue2 Vue2 的对象数据是通过 Object.defineProperty 对每个属性进行监听,当对属性进行读取的时候,就会触发 getter,对属性进行设置的时候,就会触发 setter。 /** * 这里的函数 defineReactive 用来对 Object.def…...
Eureka相关面试题及答案
1、什么是Eureka? Eureka是一个由Netflix开发的服务发现(Service Discovery)工具,它是Spring Cloud生态系统中的一个关键组件。服务发现是微服务架构中的一个重要概念,它允许服务实例在启动时注册自己,以便…...
想要学会JVM调优,先掌握JVM内存模型和JVM运行原理
1、前言 今天将和你一起探讨Java虚拟机(JVM)的性能调优。 JVM算是面试中的高频问题了,通常情况下总会有人问到:请你讲解下 JVM 的内存模型,JVM 的 性能调优做过? 2、为什么 JVM 在 Java 中如此重要 首…...
详解C语言入门程序:HelloWorld.c
#include <stdio.h> // 头文件,使用<>编译系统会在系统头文件目录搜索在C语言中,#include 是预处理指令,用于将指定的头文件内容插入到当前源文件中。这里的 <stdio.h> 是一个标准库头文件,其中包含了与输入输出…...
【elk-day01】es和kibana搭建及验证---Mac-Docker
Mac系统使用Docker下载搭建和验证eskibana Docker下载安装es安装es验证kibana安装kibana验证 Docker下载安装 Docker Desktop官网安装下载地址 说明一下为什么要安装desktop版本的docker,因为docker作为工具使用,我们需要的是开箱即用,没有必…...
探索 3D 图形处理的奥秘
最近一年多来,在 3Dfx、Intel 们的狂轰滥炸中,在 Quake、古墓丽影们的推波助澜下,三维图形已经成为计算机迷眼中的又一个热点。3D 世界到底是怎样的神奇,我们又是怎样享受它的乐趣呢?就让我们来一探究竟吧。 图形基础…...
R语言孟德尔随机化研究工具包(1)---friendly2MR
friendly2MR是孟德尔岁随机化研究中的一个重要补充工具,可以批量探索因素间的因果关系,以及快速填补缺失eaf的数据,但是存在细微差异需要注意。 remotes::install_github("xiechengyong123/friendly2MR") library(friendly2MR)lib…...
CentOS7下使用Docker安装Nacos
CentOS7下使用Docker安装Nacos 一、查看和nacos相关的镜像二、拉去镜像三、创建容器四、查看日志 一、查看和nacos相关的镜像 docker search nacos二、拉去镜像 拉取 nacos/nacos-server:1.2.0 镜像 docker pull nacos/nacos-server:1.2.0三、创建容器 docker run --env MO…...
用 Node.js 写一个爬虫
自己设计一个网站,然后去爬取别人家页面的数据来做一个自己的网站。哈哈哈,如果自己写着玩可能没啥事,但如果用这个网站来获利,你可能就要被寄律师函了,毕竟这有点‘刑’。这篇文章呢,就带大家爬取豆瓣TOP2…...
关于HTTPS
目录 什么是加密 对称加密 非对称加密 中间人攻击 引入证书 HTTPS是一个应用层的协议,是在HTTP协议的基础上引入了一个加密层. HTTP协议内容都是按照文本的方式明文传输,这就导致在传输的过程中出现一些被篡改的情况. 运营商劫持事件 未被劫持的效果,点击下载按钮,就会…...
安全配置审计概念、应用场景、常用基线及扫描工具
软件安装完成后都会有默认的配置,但默认配置仅保证了服务正常运行,却很少考虑到安全防护问题,攻击者往往利用这些默认配置产生的脆弱点发起攻击。虽然安全人员已经意识到正确配置软件的重要性,但面对复杂的业务系统和网络结构、网…...
【计算机毕业设计】python+django数码电子论坛系统设计与实现
本系统主要包括管理员和用户两个角色组成;主要包括:首页、个人中心、用户管理、分类管理、数码板块管理、数码评价管理、数码论坛管理、畅聊板块管理、系统管理等功能的管理系统。 后端:pythondjango 前端:vue.jselementui 框架&a…...
最优化方法Python计算:无约束优化应用——神经网络回归模型
人类大脑有数百亿个相互连接的神经元(如下图(a)所示),这些神经元通过树突从其他神经元接收信息,在细胞体内综合、并变换信息,通过轴突上的突触向其他神经元传递信息。我们在博文《最优化方法Python计算:无约…...
Spring Data Redis对象缓存序列化问题
相信在项目中,你一定是经常使用 Redis ,那么,你是怎么使用的呢?在使用时,有没有遇到同我一样,对象缓存序列化问题的呢?那么,你又是如何解决的呢? Redis 使用示例 添加依…...
自动驾驶代客泊车AVP巡航规划详细设计
目 录 巡航规划详细设计... 1 修改记录... 2 目 录... 3 1 背景... 5 2 系统环境... 6 2.1 巡航规划与其它模块联系... 6 2.2 巡航规划接口说明... 6 3 规划模块设计... 9 3.1 巡航规划架构图... 9 3.2 预处理... 10 3.3 Planner. 10 3.3.1 Geometry planner. 10 …...
亚马逊云科技 re:Invent 2023 产品体验:亚马逊云科技产品应用实践 国赛选手带你看 Elasticache Serverless
抛砖引玉 讲一下作者背景,曾经参加过国内世界技能大赛云计算的选拔,那么在竞赛中包含两类,一类是架构类竞赛,另一类就是 TroubleShooting 竞赛,对应的分别为亚马逊云科技 GameDay 和亚马逊云科技 Jam,想必…...
Flink on K8S集群搭建及StreamPark平台安装
1.环境准备 1.1 介绍 在使用 Flink&Spark 时发现从编程模型, 启动配置到运维管理都有很多可以抽象共用的地方, 目前streampark提供了一个flink一站式的流处理作业开发管理平台, 从流处理作业开发到上线全生命周期都做了支持, 是一个一站式的流出来计算平台。 未来spark开…...
SpringBoot如何优雅的处理免登录接口
在项目开发过程中,会有很多API接口不需要登录就能直接访问,比如公开数据查询之类的 ~ 常规处理方法基本是 使用拦截器或过滤器,拦截需要认证的请求路径。在拦截器中判断session或token信息,如果存在则放行,否则跳转到…...
庆阳网约车/搜索引擎优化文献
腾讯 一面(支付) 1.jqc的介绍 2.如何确保多台机器不会重复消费 3.如何确保消费了反馈失效问题(用事务管理,先储存再消费,失败就回滚) 4.如何防止数据库单点问题 8.paxos算法 9.raft算法 10.spring的aop实…...
轻量级WordPress/seo入门培训
对这段时间和以后做个了结 这段时间太多的杂乱思维,太多的浮躁和迷茫与不安。我写下这些,希望对于同样IT职场的小白们有所帮助。 先来说说这段时间的颓废。感觉这大半年都没什么进步,过的也不好不坏,不痛不痒。整天来公司…...
成都网站建设 工资/石家庄新闻
中文词频统计: 作业连接:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2822 1. 下载一长篇中文小说。 2. 从文件读取待分析文本。 3. 安装并使用jieba进行中文分词。 pip install jieba import jieba jieba.lcut(text) 4. 更新词库&…...
免费真人做爰网站/网络销售怎么找客源
转载于:https://blog.51cto.com/chenxing/45771...
网站按域名跳转不同的页面/短视频营销策划方案
如果访问存储器时使用bp寻址,则默认的段寄存器是“SS”,即堆栈段。SS堆栈段通常是指采用堆栈方式工作的一段内存区域;在采用段式内存管理方式进行程序内存分配的架构中,堆栈段用来存放局部变量和函数返回地址。段寄存器是因为对内…...
离石古楼角网站建设/友情链接如何交换
为什么80%的码农都做不了架构师?>>> 各个数据库like写法: oracle数据库: SELECT * FROM user WHERE name like CONCAT(%,#{name},%) 或 : SELECT * FROM user WHERE name like %||#{name}||% SQLServer数据库: SELECT…...