当前位置: 首页 > news >正文

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++ 具名要求

此页面中列出的具名要求&#xff0c;是 C 标准的规范性文本中使用的具名要求&#xff0c;用于定义标准库的期待。 某些具名要求在 C20 中正在以概念语言特性进行形式化。在那之前&#xff0c;确保以满足这些要求的模板实参实例化标准库模板是程序员的重担。若不这么做&#xf…...

大创项目推荐 深度学习二维码识别

文章目录 0 前言2 二维码基础概念2.1 二维码介绍2.2 QRCode2.3 QRCode 特点 3 机器视觉二维码识别技术3.1 二维码的识别流程3.2 二维码定位3.3 常用的扫描方法 4 深度学习二维码识别4.1 部分关键代码 5 测试结果6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天…...

C++初阶——基础知识(函数重载与引用)

目录 1.命名冲突 2.命名空间 3.缺省参数 4.函数重载 1.函数重载的特点包括&#xff1a; 2.函数重载的好处包括&#xff1a; 3.引用 引用的特点包括 引用的主要用途包括 引用和指针 引用 指针 类域 命名空间域 局部域 全局域 第一个关键字 命名冲突 同一个项目之间冲…...

车载电子电器架构 —— 电子电气系统开发角色定义

车载电子电器架构 —— 电子电气系统开发角色定义 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 注:本文12000字,深度思考者进!!! 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的…...

最新Redis7哨兵模式(保姆级教学)

一定一定要把云服务器的防火墙打开一定要&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;否则不成功&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&…...

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 &#xff0c;专门针对 node 版本进行管理的工具&#xff0c;通过它可以安装和切换不同版本的…...

【Yii2】数据库查询方法总结

目录 1.查找单个记录&#xff1a; 2.查找多个记录&#xff1a; 3.条件查询&#xff1a; 4.关联查询&#xff1a; 假设User模型有一个名为orders的多对一关联关系。 5.排序和分组&#xff1a; 6.数据操作&#xff1a; 7.事务处理&#xff1a; 8.命令查询&#xff1a; 9…...

区块链的三难困境是什么,如何解决?

人们需要保持社交、工作和睡眠之间的平衡&#xff0c;并且努力和谐相处。同样的概念也反映在区块链的三难困境中。 区块链三难困境是一个术语&#xff0c;指的是现有区块链的局限性&#xff1a;可扩展性、安全性和去中心化。这是一个存在了几十年的设计问题&#xff0c;其问题的…...

oCPC实践录 | oCPM的秘密

前言 笔者从这几方面介绍oCPM&#xff0c;并一一分析平台侧宣称的oCPM相比oCPC的优势&#xff0c;并解开其中的秘密。 1&#xff09;什么是oCPM? 2&#xff09;oCPC与oCPM的异同 3&#xff09;平台宣称oCPM的优势 4&#xff09;oCPM真正的秘密 5&#xff09;oCPM下的点击率与…...

【Linux Shell学习笔记】Linux Shell的位置参数与函数

一、位置参数 位置参数&#xff0c;也被称之为位置变量&#xff0c;通过位置参数&#xff0c;可以在执行程序的时候&#xff0c;向程序传递数据 1.1 shell接收参数的方法 1.2 向shell传递参数的方法 二、函数 2.1 函数基础 2.1.1 函数简介 函数本质上就是一个代码块&#xf…...

缓存cache和缓冲buffer的区别

近期被这两个词汇困扰了&#xff0c;感觉有本质的区别&#xff0c;搜了一些资料&#xff0c;整理如下 计算机内部的几个部分图如下 缓存&#xff08;cache&#xff09; https://baike.baidu.com/item/%E7%BC%93%E5%AD%98 提到缓存&#xff08;cache&#xff09;&#xff0c;就…...

Vue常见面试问答

vue响应式数据 vue2 Vue2 的对象数据是通过 Object.defineProperty 对每个属性进行监听&#xff0c;当对属性进行读取的时候&#xff0c;就会触发 getter&#xff0c;对属性进行设置的时候&#xff0c;就会触发 setter。 /** * 这里的函数 defineReactive 用来对 Object.def…...

Eureka相关面试题及答案

1、什么是Eureka&#xff1f; Eureka是一个由Netflix开发的服务发现&#xff08;Service Discovery&#xff09;工具&#xff0c;它是Spring Cloud生态系统中的一个关键组件。服务发现是微服务架构中的一个重要概念&#xff0c;它允许服务实例在启动时注册自己&#xff0c;以便…...

想要学会JVM调优,先掌握JVM内存模型和JVM运行原理

1、前言 今天将和你一起探讨Java虚拟机&#xff08;JVM&#xff09;的性能调优。 JVM算是面试中的高频问题了&#xff0c;通常情况下总会有人问到&#xff1a;请你讲解下 JVM 的内存模型&#xff0c;JVM 的 性能调优做过&#xff1f; 2、为什么 JVM 在 Java 中如此重要 首…...

详解C语言入门程序:HelloWorld.c

#include <stdio.h> // 头文件&#xff0c;使用<>编译系统会在系统头文件目录搜索在C语言中&#xff0c;#include 是预处理指令&#xff0c;用于将指定的头文件内容插入到当前源文件中。这里的 <stdio.h> 是一个标准库头文件&#xff0c;其中包含了与输入输出…...

【elk-day01】es和kibana搭建及验证---Mac-Docker

Mac系统使用Docker下载搭建和验证eskibana Docker下载安装es安装es验证kibana安装kibana验证 Docker下载安装 Docker Desktop官网安装下载地址 说明一下为什么要安装desktop版本的docker&#xff0c;因为docker作为工具使用&#xff0c;我们需要的是开箱即用&#xff0c;没有必…...

探索 3D 图形处理的奥秘

最近一年多来&#xff0c;在 3Dfx、Intel 们的狂轰滥炸中&#xff0c;在 Quake、古墓丽影们的推波助澜下&#xff0c;三维图形已经成为计算机迷眼中的又一个热点。3D 世界到底是怎样的神奇&#xff0c;我们又是怎样享受它的乐趣呢&#xff1f;就让我们来一探究竟吧。 图形基础…...

R语言孟德尔随机化研究工具包(1)---friendly2MR

friendly2MR是孟德尔岁随机化研究中的一个重要补充工具&#xff0c;可以批量探索因素间的因果关系&#xff0c;以及快速填补缺失eaf的数据&#xff0c;但是存在细微差异需要注意。 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 写一个爬虫

自己设计一个网站&#xff0c;然后去爬取别人家页面的数据来做一个自己的网站。哈哈哈&#xff0c;如果自己写着玩可能没啥事&#xff0c;但如果用这个网站来获利&#xff0c;你可能就要被寄律师函了&#xff0c;毕竟这有点‘刑’。这篇文章呢&#xff0c;就带大家爬取豆瓣TOP2…...

关于HTTPS

目录 什么是加密 对称加密 非对称加密 中间人攻击 引入证书 HTTPS是一个应用层的协议,是在HTTP协议的基础上引入了一个加密层. HTTP协议内容都是按照文本的方式明文传输,这就导致在传输的过程中出现一些被篡改的情况. 运营商劫持事件 未被劫持的效果,点击下载按钮,就会…...

安全配置审计概念、应用场景、常用基线及扫描工具

软件安装完成后都会有默认的配置&#xff0c;但默认配置仅保证了服务正常运行&#xff0c;却很少考虑到安全防护问题&#xff0c;攻击者往往利用这些默认配置产生的脆弱点发起攻击。虽然安全人员已经意识到正确配置软件的重要性&#xff0c;但面对复杂的业务系统和网络结构、网…...

【计算机毕业设计】python+django数码电子论坛系统设计与实现

本系统主要包括管理员和用户两个角色组成&#xff1b;主要包括&#xff1a;首页、个人中心、用户管理、分类管理、数码板块管理、数码评价管理、数码论坛管理、畅聊板块管理、系统管理等功能的管理系统。 后端&#xff1a;pythondjango 前端&#xff1a;vue.jselementui 框架&a…...

最优化方法Python计算:无约束优化应用——神经网络回归模型

人类大脑有数百亿个相互连接的神经元&#xff08;如下图(a)所示&#xff09;&#xff0c;这些神经元通过树突从其他神经元接收信息&#xff0c;在细胞体内综合、并变换信息&#xff0c;通过轴突上的突触向其他神经元传递信息。我们在博文《最优化方法Python计算&#xff1a;无约…...

Spring Data Redis对象缓存序列化问题

相信在项目中&#xff0c;你一定是经常使用 Redis &#xff0c;那么&#xff0c;你是怎么使用的呢&#xff1f;在使用时&#xff0c;有没有遇到同我一样&#xff0c;对象缓存序列化问题的呢&#xff1f;那么&#xff0c;你又是如何解决的呢&#xff1f; 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

抛砖引玉 讲一下作者背景&#xff0c;曾经参加过国内世界技能大赛云计算的选拔&#xff0c;那么在竞赛中包含两类&#xff0c;一类是架构类竞赛&#xff0c;另一类就是 TroubleShooting 竞赛&#xff0c;对应的分别为亚马逊云科技 GameDay 和亚马逊云科技 Jam&#xff0c;想必…...

Flink on K8S集群搭建及StreamPark平台安装

1.环境准备 1.1 介绍 在使用 Flink&Spark 时发现从编程模型, 启动配置到运维管理都有很多可以抽象共用的地方, 目前streampark提供了一个flink一站式的流处理作业开发管理平台, 从流处理作业开发到上线全生命周期都做了支持, 是一个一站式的流出来计算平台。 未来spark开…...

SpringBoot如何优雅的处理免登录接口

在项目开发过程中&#xff0c;会有很多API接口不需要登录就能直接访问&#xff0c;比如公开数据查询之类的 ~ 常规处理方法基本是 使用拦截器或过滤器&#xff0c;拦截需要认证的请求路径。在拦截器中判断session或token信息&#xff0c;如果存在则放行&#xff0c;否则跳转到…...

庆阳网约车/搜索引擎优化文献

腾讯 一面&#xff08;支付&#xff09; 1.jqc的介绍 2.如何确保多台机器不会重复消费 3.如何确保消费了反馈失效问题&#xff08;用事务管理&#xff0c;先储存再消费&#xff0c;失败就回滚&#xff09; 4.如何防止数据库单点问题 8.paxos算法 9.raft算法 10.spring的aop实…...

轻量级WordPress/seo入门培训

对这段时间和以后做个了结 这段时间太多的杂乱思维&#xff0c;太多的浮躁和迷茫与不安。我写下这些&#xff0c;希望对于同样IT职场的小白们有所帮助。 先来说说这段时间的颓废。感觉这大半年都没什么进步&#xff0c;过的也不好不坏&#xff0c;不痛不痒。整天来公司&#xf…...

成都网站建设 工资/石家庄新闻

中文词频统计&#xff1a; 作业连接&#xff1a;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寻址&#xff0c;则默认的段寄存器是“SS”&#xff0c;即堆栈段。SS堆栈段通常是指采用堆栈方式工作的一段内存区域&#xff1b;在采用段式内存管理方式进行程序内存分配的架构中&#xff0c;堆栈段用来存放局部变量和函数返回地址。段寄存器是因为对内…...

离石古楼角网站建设/友情链接如何交换

为什么80%的码农都做不了架构师&#xff1f;>>> 各个数据库like写法&#xff1a; oracle数据库&#xff1a; SELECT * FROM user WHERE name like CONCAT(%,#{name},%) 或 : SELECT * FROM user WHERE name like %||#{name}||% SQLServer数据库&#xff1a; SELECT…...