C++ Reference: Standard C++ Library reference: Containers: deque: deque: assign

news2024/11/25 12:25:22

C++官网参考链接:https://cplusplus.com/reference/deque/deque/assign/

公有成员函数 
<deque>
std::deque::assign
C++98
范围 (1)    
template <class InputIterator>  void assign (InputIterator first, InputIterator last);
填充 (2)    
void assign (size_type n, const value_type& val);
C++11
范围 (1)    
template <class InputIterator>  void assign (InputIterator first, InputIterator last);
填充 (2)    
void assign (size_type n, const value_type& val);
初始化列表 (3)    
void assign (initializer_list<value_type> il);
分配容器内容
向deque容器分配新内容,替换其当前内容并相应地修改其size。
C++98
范围版本(1)中,新内容是由firstlast范围中的每个元素以相同的顺序构造的元素。
填充版本(2)中,新内容是n个元素,每个元素初始化为val的一个副本。
如果需要,容器使用它的内部分配器(internal allocator)来分配额外的存储空间。
C++11
范围版本(1)中,新内容是由firstlast范围中的每个元素以相同的顺序构造的元素。
填充版本(2)中,新内容是n个元素,每个元素初始化为val的一个副本。
初始化列表版本(3)中,新内容是作为初始化列表传递的值的副本,顺序相同。
如果存储发生变化,则使用内部分配器(internal allocator)(通过其特性(traits))。它也被用来销毁(destroy)所有现有的元素,并构造(construct)新的元素。
调用之前容器中保存的任何元素都将被销毁并替换为新构造的元素(不发生元素赋值)。

形参 
first,last 
输入迭代器到序列的初始和最终位置。使用的范围是[first,last),它包括firstlast之间的所有元素,包括由first指向的元素,但不包括由last指向的元素。
函数模板实参InputIterator应该是一个输入迭代器(input iterator)类型,它指向可以构造value_type对象的类型元素。
n
容器的新大小。
成员类型size_type是无符号整型。
val 
值来填充容器。容器中的n个元素都将初始化为该值的副本。
成员类型value_type是容器中元素的类型,在deque中定义为其第一个模板形参(T)的别名。
il
一个initializer_list对象。编译器将从初始化列表声明器自动构造此类对象。
成员类型value_type是容器中元素的类型,在deque中定义为其第一个模板形参(T)的别名。

返回值
没有返回值。

用例
// deque::assign
#include <iostream>
#include <deque>

int main ()
{
  std::deque<int> first;
  std::deque<int> second;
  std::deque<int> third;

  first.assign (7,100);             // 7 ints with a value of 100

  std::deque<int>::iterator it;
  it=first.begin()+1;

  second.assign (it,first.end()-1); // the 5 central values of first

  int myints[] = {1776,7,4};
  third.assign (myints,myints+3);   // assigning from array.

  std::cout << "Size of first: " << int (first.size()) << '\n';
  std::cout << "Size of second: " << int (second.size()) << '\n';
  std::cout << "Size of third: " << int (third.size()) << '\n';
  return 0;
}
输出:

复杂度
在初始和最终的sizes(析构、构造)中的线性。

迭代器有效性
与此容器相关的所有迭代器、指针和引用都将失效。

数据竞争
所有复制的元素都被访问。
容器被修改。
所有包含的元素都被修改。

异常安全
基本保证:如果抛出异常,则容器处于有效状态。
如果元素构造的适当实参不支持allocator_traits::construct,或者由[first,last)指定的范围无效,则会导致未定义的行为。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/13852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用户体验成为继MAU后,手机银行竞争分化的下一分水岭,易观千帆重磅发布手机银行APP用户体验GX评测

作为银行金融服务线上场景渗透的有效抓手&#xff0c;当前手机银行APP已经成为其触达用户的重要渠道。随着银行发力场景服务平台成为发展趋势&#xff0c;5G技术问世对金融服务场景端提出新要求&#xff0c;用户体验反馈成为银行线上场景化运营的重要一环。 手机银行APP作为银…

自定义node版本,实现node多版本控制

这是我在安装依赖时报的两个错&#xff0c;一个是关于Cant find Python的问题&#xff0c;一个是node版本过高的问题。我一开始解决这边的Python的问题&#xff0c;网上找了好几个方法&#xff0c;安装了Python&#xff0c;环境配置也配置了&#xff0c;但是还是在报这个错&…

【python3】6.pickle json 序列化

2022.11.17 本学习内容总结于莫烦python:6.pickle/json 序列化 https://mofanpy.com/tutorials/python-basic/interactive-python/pickle-json 参考&#xff1a;https://blog.csdn.net/weixin_43625577/article/details/866997896 pickle/json 序列化 6.1 序列化 序列化&…

Linux-RPM与YUM

RPM包 rpm用于互联网下载包的打包及安装工具&#xff0c;它包含在某些Linux分发版中&#xff0c;它生成具有.RPM扩展名的文件&#xff0c;RPM是RedHat Package Manager&#xff08;RedHat软件包管理工具&#xff09;的缩写&#xff0c;类似于windows的setup.exe rpm包的管理 …

【Hack The Box】windows练习-- Timelapse

HTB 学习笔记 【Hack The Box】windows练习-- Timelapse &#x1f525;系列专栏&#xff1a;Hack The Box &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4c6;首发时间&#xff1a;&#x1f334;2022年11月17日&#x1f334; &…

原理图与 PCB 绘制备忘

PCB 绘制 考虑到各制板厂的工艺水平的不同&#xff0c;过孔不可过小&#xff0c;最小为 12/25 mil&#xff0c;常用过孔为 16/28 mil 和 24/40mil 。铺铜时&#xff0c;与管脚有连接时做成部分相连。这是因为整体相连后&#xff0c;焊接元器件时因为铜皮散热快而难以化开焊锡。…

如何使用 Spring Data JPA 在存储过程中使用 IN、OUT 和 INOUT 参数

介绍 在本教程中&#xff0c;我将向您展示如何使用 Spring Data JPA 在存储过程中使用 IN、OUT 和 INOUT 参数。我还将调用一个完全没有参数的存储过程。 我将使用 MySQL 服务器&#xff0c;因此 MySQL 服务器可能存在一些限制&#xff0c;或者 Spring Data JPA 本身在调用存…

【网络安全】记一次APP登录爆破

使用工具 安卓12 jadx-gui 抓取登录HTTP请求包 安装burp证书&#xff0c;并抓取登录请求。 POST /loginUser HTTP/1.1 Host: api.xxxx.xxxxx.comapiaccountvrpuc-aaf91f835147ce2d01216bd3bd5c3516&phonexxxx&sign72C132B392873B3F4F6C0872E5EC4B5A&encM%2F8h…

经典排序方法思路简介

参考&#xff1a;https://zhuanlan.zhihu.com/p/166199924&#xff0c;https://www.runoob.com/w3cnote/ten-sorting-algorithm.html **稳定性&#xff1a;**是表示相同值的数据在排序好的结果中的位置前后关系依然不会变&#xff0c;例如[3,1,3],排序后的最后一个3位置不变&am…

java项目-第141期ssm美好生活日志网-ssm毕业设计_计算机毕业设计

java项目-第141期ssm美好生活日志网-ssm毕业设计 【源码请到资源专栏下载】 今天分享的项目是《ssm美好生活日志网》 该项目分为2个角色&#xff0c;管理员和用户。 用户可以浏览前台,包含功能有&#xff1a; 首页、日记信息、美食信息、景点信息、新闻推荐 、日记展示、论坛信…

【现代密码学原理】——数字签名(学习笔记)

&#x1f4d6; 前言&#xff1a;数字签名&#xff08;又称公钥数字签名&#xff09;是只有信息的发送者才能产生的别人无法伪造的一段数字串&#xff0c;这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名&#xff0c;但是…

解读JVM级别本地缓存Caffeine青出于蓝的要诀3

Caffeine的异步淘汰清理机制 在惰性删除实现机制这边&#xff0c;Caffeine做了一些改进优化以提升在并发场景下的性能表现。我们可以和Guava Cache的基于容量大小的淘汰处理做个对比。 当限制了Guava Cache最大容量之后&#xff0c;有新的记录写入超过了总大小&#xff0c;会…

HTML---表单详解

目录 一、表单介绍 二、表单元素 1&#xff1a;input输入表单元素 &#xff08;1&#xff09; text和password &#xff08;2&#xff09;radio和checkbox &#xff08;3&#xff09;button 2&#xff1a;label标签 3&#xff1a;select下拉表单元素 4&#xff1a;textar…

喜报 | 强强联手,这件大事终于有着落了

近日&#xff0c;擎创科技与国产数据库领先品牌——达梦数据库达成战略合作伙伴关系&#xff0c;双方将在品牌、产品、技术、渠道等方面进行全方位合作&#xff0c;共同完成产品整合、资源共享、联合方案等事宜&#xff1b;共同赋能于金融、能源、交通等行业的数字化转型&#…

2019年1+X 证书 Web 前端开发中级理论考试题目原题+答案——第一套

&#x1f4da;文章目录 &#x1f3af;关于1X标准 &#x1f3af;关于中级考点 ⏩&#x1f4bb;答案速查 一、单选题&#xff08;每小题2分&#xff0c;共30小题&#xff0c;共60分&#xff09; 二、多选题&#xff08;每小题2分&#xff0c;共15小题&#xff0c;共30分&…

Java入门-Java语言概述

1、Java语言基本概述 1.1、什么是计算机编程语言 人与人之间是如何沟通的呢&#xff1f;从小父母就教会我们说话&#xff0c;在长期的熏陶和自我学习中&#xff0c;我们就学会了普通话&#xff0c;学会了表达自己的需求&#xff0c;父母收到我们的信号或者听到我们的要求也会尽…

C# 自定义控件

一 自定义控件 1 自定义控件的三种方式&#xff1a; 1&#xff09;复合控件&#xff1a;将标准控件组合起来 class YourControl:UserControl{}2) 扩展控件&#xff1a;继承于标准控件 class YourControl:Button{}3) 自定义控件&#xff1a;完全地自定义一个控件 class You…

CSSStyleSheet 对象(css 样式表)- 你不知道的有趣功能

1.概念 CSSStyleSheet 对象 代表着&#xff0c;css文件被浏览器解析后生成的css样式表。 CSS 样式表由 CSS 规则组成&#xff0c;可以通过 CSSRule 对象操作每条规则。CSSStyleSheet 对象允许您查询、插入和删除样式表规则。 例如&#xff1a;好玩儿的尝试&#xff08;改变页…

基于经验论述:实现k-NN算法

以兰普威尔小镇为例,那里的人们为他们的两支球队——兰普威尔红队和兰普威尔蓝队——而疯狂。红队已经存在很长时间了,人们很喜欢这支队伍。 但是后来,一些外地来的富翁买下了红队的最佳射手,成立了一支新的球队——蓝队。令多数红队球迷不满的是,这位最佳射手将继续带领蓝…

数据结构与算法_BST树_BST树的定义及删除操作

先写BST树的定义及特点&#xff0c;然后记录BST数的删除操作。 1 BST定义及特点 BST数是一棵特殊的二叉树&#xff0c;如何能得到一颗二叉搜索树呢&#xff1f;下面一个有序序列&#xff0c;经过二分搜索&#xff0c;得到的就是一颗BST树。根节点就是当前一轮要搜索的中间节点…