容器操作

【容器】【c++】C++ STL 容器操作速查表 【代码】【容器】【c++】C++ STL 容器操作速查表。 阅读详情

构造函数

c.assign(beg,en)		//将[beg:en)中的元素赋予c  两个地址。

大小和容量

x = c.size() 			//x是c的元素数目
c.empty() 				//c为空吗? 是则返回1
c.reserve(n)			//为c预留n个元素的空间,只适用于vector和string
c.resize(n,v)			//将c的大小改变为n;将增加的元素初始化为v;只用于顺序容器(和string)
c.shrink_to_fit()		//使c的容量等于它的大小;只适用于vector,deque和string
c.clear() 				//删除c的所有元素 

指向关联容器元素的迭代器只有当所指元素从容器中删除时才会失效。与之相反,指向顺序容器元素的迭代器当元素重新分配空间或所指元素在容器中移动时也会失效。
reserve() 最好看作一种提高性能可预测性和避免迭代器失效的方式。


迭代器
p = c.begin() 				//p指向c的首元素
p = c.end() 				//p指向c的尾后元素
p = c.rbegin() 				//p指向c的反序的首元素
p = c.rend() 				//p指向c的反序的尾后元素
cp = c.cbegin()				//常量迭代器(不能修改元素) 

元素访问
c.front()  				//指向c的首元素;关联容器不适用
c.back()				//指向c的尾元素;forward_list 和关联容器不适用
c[i]					//指向c的第i个元素;不做范围检查;链表和关联容器不适用
c.at(i)					//同上,若i超出范围则抛出一个out_of_range

c[k] 					//指向c中关键字为k的元素;若未找到则插入(k,mapped_type{});只适用于map和unordered_map
c.at[k]					//同上,区别若未找到不会添加元素,而是抛出out_of_range 


栈操作
c.push_back(x) 				//将x添加到c的微元素之后(使用拷贝或移动)
c.pop_back()				//删除c的尾元素,无返回值
c.emplace_back(args)			//用args构造一个对象,将它添加到c的尾元素之后 



列表操作
q = c.insert(p,x)				//将x插入到p之前;使用拷贝或移动
q = c.insert(p,first,last) 		//将[first:last)中的元素插入到p之前;不适用于关联容器
q = c.erase(p) 					//从c中删除位于p处的元素。
q = c.erase(first,last)			//从c中删除[first:last)间的元素
c.clear()						//删除c中所有元素 

insert()系列函数返回的结果q指向插入的最后一个元素。
erase()系列函数的返回结果q指向删除的最后一个元素之后的位置
对连续储存元素的容器,如vector和deque,插入或删除一个元素会导致其它元素移动。指向一个移动的元素的迭代器会失效。一般情况下,插入/删除点之后的元素会被移动;若新的大小超出旧容量,则所有元素都会被移动。任何向一个向量添加元素的操作都可能导致全部元素重新分配储存空间


比较和交换
c1 == c2
c1 != c2
c1 < c2 					//字典序 
c1 <= c2
c1 > c2
c1 >= c2
c1.swap(c2)					//交换c1和c2的值;不抛出异常
swap(c1,c2)					//c1.swap(c2) 


C++容器-- vector容器常用操作 / 构造函数// 默认构造,无参构造// 通过区间方式构造// 3个100构造// 拷贝构造// 赋值v2 = v1;// assign(), 区间范围:左闭右开// 4个100// 容器容量和大小v1.empty();// 判断是否为空// 容器的容量v1.size();// 容器的大小// 重新指定容器大小为15,默认以100填充// 重新指定容器大小为5// 插入和删除// 尾部插入元素4// 尾部删除元素// v1的begin位置插入10。 阅读详情

相关推荐

基于STM32的智能台灯PWM调光与人体感应融合设计

本文详细介绍了基于STM32单片机的智能台灯设计方案,重点讲解了PWM调光技术与人体感应模块的融合实现。通过STM32的高级定时器产生精准PWM信号控制LED亮度,结合红外传感器实现人来灯亮、人走灯灭的智能体验,同时集成光敏传感实现环境自适应调光,打造高效节能的智能照明解决方案。

threejs5artist的博客 823

关于容器的各种操作

对于容器有增,删,查,改这几种操作,对于不同的容器有不同的操作 (1)顺序容器: 1.插入元素:对于c.push_back(t)和c.insert(p,t)顺序容器都可以操作,c.push_front(t)只适用于list和deque 容器,vector不允许在首部插入元素,

953

Cadence笔记--原理图导入PCB

根据PCB尺寸画PCB外观尺寸,这里注意X\Y不能超过指定的区域,X\Y的最大值在setuo的grids里设置,画完后保存并关闭工程然后重新打开(不理解为何)由于只画了一个PMU6050,所以这里只有一个器件。工程选择board,选择存储路径和名称。6、重新网格导入,保证网表导入无误;注意网表保存的路径。

weixin_51418325的博客 1956

C++容器:容器操作

1.容器位置操作:c.begin() 返回一个迭代器,它指向容器 c 的第一个元素c.end() 返回一个迭代器,它指向容器 c 的第一个元素c.rbegin() 返回一个逆序迭代器,它指向容器 c 的最后一个元素c.rend() 返回一个逆序迭代器,它指向容器 c 的第一个元素前面的位置 2.顺序容器添加元素操作:注意:容器元素都是副本,被复制的原始值与新

winjack11的专栏 3798

PCB数据集

整理了一部分PCB数据集

m0_57996537的博客 3867

利用ArcMap实现遥感图像语义分割标注的完整流程解析

本文详细解析了利用ArcMap进行遥感图像语义分割标注的完整工作流。从工程创建、数据导入、SHP文件创建,到实战勾画地物、要素转栅格,再到最终的裁剪对齐,提供了每一步的关键操作与避坑指南。该方法特别适合处理大尺寸、带地理坐标的遥感影像,能高效产出精准对齐的图像-标签对,为后续深度学习模型训练奠定可靠的数据基础。

gpu4optimizer的博客 1208

Docker之容器常见操作

docker

qianghong000的博客 1426

通信算法之249: DJI波形物理层

D-J-I的Lightbridge波形、Ocusync1波形、Ocusync2波形、Ocusync3波形,

leegang12的专栏 1436

Docker的容器操作

进入一个正在运行的容器,附加到其主进程的标准输入、输出和错误流,看到容器中运行的程序的实时输出,并直接与容器的主进程交互,例如正在运行top的容器,可以看到top实时输出,还可以输入命令和top交互。会停止运行的Shell进程,如果这个进程是容器的主进程(例如一个 Bash 会话或主要的服务进程),exit 会直接停止整个容器。,通常是交互式Shell,不依赖容器的主进程,可以独立运行,不影响容器的主进程运行。运行时,必须有一个前台进程,如果容器运行的命令不是那些一直挂起的命令,例如。

Liu Zijian‘s Blog 977

【Altium Designer】Off grid pin解决方法

​今天我画完原理图编译时,出现了太多的黄色(出现warning警告提示)Off grid pin警告,这个警告并不是原理图电气连接出问题了,而是元器件或器件PIN脚没有和栅格对齐造成的原因。再编译还是出现这个警告。 最后经过不断翻阅网上经验和实践,才最终解决,本经验详细记录了解决该警告的有效方法。 解决方案:以下是问题解决步骤... ​

夜半少年的博客 7546

学Simulink——基于Simulink的固态变压器(SST)多级协同控制​

本文介绍了基于Simulink的固态变压器(SST)多级协同控制系统设计与仿真方法。SST作为智能电网关键设备,包含AC-DC整流、DC-DC隔离和DC-AC逆变三级变换器。针对级间耦合问题,提出了能量-功率协同控制策略,通过纵向解耦和横向联动实现稳定运行。详细演示了在Simulink中搭建三级主电路、设计协同控制器(含电网定向控制、功率前馈和虚拟惯性控制)的全过程,并通过负载突变测试验证了系统动态性能(直流母线电压波动<2%)。最后给出了工程部署建议,包括数字控制延时补偿、启动序列设计和代码自动生成

xiaoheshang_123的博客 203

容器操作基础命令

可以将事先容器预定义的所有端口映射宿主机的网卡的随机端口,默认从32768开始使用随机端口 时,当停止容器后再启动可能会导致端口发生变化。系统类的容易,启动后没有执行任何操作,不想httpd、nginx等程序需要持续向外提供服务,所以系统类的默认是一次性的,容器启动就退出。docker attach 容器名,操作会在同一个容器的多个会话界面同步显示,所有使用此方式进入容器的操作都是同步显示的,且。在运行中的容器启动新进程,可以执行单次命令,以及进入容器测试环境使用此方式,使用exit退出,但容器还在运行,

xiaogengtongxu的博客 1270

tar解压报错 gzip: stdin: unexpected end of file tar: Unexpected EOF in archive

错误现象: [root@centos7-xinsz08 ~]# tar xf prometheus-2.7.2.linux-amd64.tar.gz gzip: stdin: unexpected end of file tar: 归档文件中异常的 EOF tar: 归档文件中异常的 EOF tar: Error is not recoverable: exiting now 错误原因排查 ...

互联网老辛 2万+

C++ Primer 顺序容器操作

专栏简介:本专栏主要面向C++初学者,解释C++的一些基本概念和基础语言特性,涉及C++标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级程序设计技术。希望对读者有帮助!

专注于C/C++编程语言的博客,如果读者对C/C++语言有任何需要咨询的可以私信联系! 1185

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【docker】命令之容器操作

这部分我们介绍了容器中的相关命令操作,以及如何修改容器中的内容。后面我们将以我们修改好的这个mynginx为例,看如何将其保存下来,并分享到我们的docker_hub社区!

qq_51933234的博客 3077

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Docker镜像和容器操作

docker容器默认会把容器内部第一个进程,也就是pid=1的程序作为docker容器是否正在运行的依据,如果docker容器中pid=1的进程挂了,那么docker容器便会只会退出,也就是说docker容器中必须有一个前台进程,否则认为容器已经挂掉。在迁移过程中,可以使用“docker export”命令将已经创建好的容器导出为文件,无论这个容器是处于运行状态还是停止状态均可导出。容器所运行的程序不能结束。注意:容器是一个与其中运行的shell命令共存亡的终端,命令运行容器运行,命令结束容器退出。

zk584715834的博客 1667

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Docker 容器操作笔记

一、简介Docker 容器是基于 Docker 镜像创建的运行实例。容器提供了隔离的运行环境,可以在不同的操作系统上以一致的方式运行应用程序。以下是对 Docker 容器操作的详细介绍,包括常用的命令及其参数解释。二、容器操作(一)运行容器。

2301_78537542的博客 709

Docker容器镜像与容器常用操作指南

容器化技术在操作系统(OS)组件的编译构建过程中发挥着革命性作用,如环境一致性保障、资源隔离与效率提升、依赖管理与可重复性、安全合规性等方面有重压作用,本文重点说明下容器镜像及容器本身的常用操作,方便快速应用到组件编译场景中。

tianyuanwo的专栏 1584

【Docker】容器操作

docker run,这个命令不仅仅可以帮助我们创建一个容器,而且还可以让这个容器处于运行状态。容器除了运行状态,还会有暂停、停止这两个状态。运行:进程正常运行暂停:进程暂停,CPU不再运行,并不释放内存停止:进程终止,回收进程占用的内存、CPU等资源可以让容器从运行进入暂停。可以让容器从暂停恢复运行。可以让容器从运行变成停止。可以让容器从停止恢复运行。停止和暂停差别主要在于操作系统的处理方式。

qq_39921135的博客 748

C++容器:容器的基本操作

1.容器位置操作: c.begin() 返回一个迭代器,它指向容器 c 的第一个元素 c.end() 返回一个迭代器,它指向容器 c 的第一个元素 c.rbegin() 返回一个逆序迭代器,它指向容器 c 的最后一个元素 c.rend() 返回一个逆序迭代器,它指向容器 c 的第一个元素前面的位置   2.顺序容器添加元素操作: 注

chenglove1314的专栏 785

【Docker学习】4. Docker操作容器

文章目录 Docker操作容器 1. 启动容器 2. 终止容器 3. 启动已终止容器 4. 守护态运行(后台运行) 5. 容器日志 6. 进入容器 7. 删除容器 8. 清理所有处于终止状态的容器

拾年之璐 6970

docker容器操作

docker容器操作

qq_44363920的博客 1709
上一篇: hdu2062 Subset sequence
下一篇: 母函数(生成函数)
mwhybmj
博客等级 码龄10年 8粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值