C++:vector容器中使用pair该如何访问成员
(显然,vector 的索引从 0 开始,这和普通数组一样。通过使用索引,总是可以访问到 vector 容器中现有的元素。)
如果是简单的访问vector里边的成员的话,是这样的:
#include <iostream>
#include <vector>
using namespace std;
int main()
{vector<int> values{1,2,3,4,5};//获取容器中首个元素cout << values[0] << endl;//输出1//修改容器中下标为 0 的元素的值values[0] = values[1] + values[2] + values[3] + values[4];//输出14cout << values[0] << endl;return 0;
}
简单的只是单纯的访问pair里边的元素:
pair<int ,double> p1;p1.first = 1;//访问pair的第一个p1.second = 2.5;//访问pair的第二个元素cout<<p1.first<<' ,'<<p1.second<<endl;//输出结果:1, 2.5
如果vector里边存放的是pair的话,是这样的:
vector<pair<double, double>>data_;//vector的元素类型是pair类型double x_resolution1 = M_PI / 181;//1度=Π/180;1弧度=180/Πdouble a_1, b_1;//将降采样后点云数据的xy坐标赋值给a_1,b_1for (int i_point = 0; i_point < point_num; i_point++){a_1 = cloud->points[i_point].x;b_1 = cloud->points[i_point].y;for (int i = 0; i < 181; i++){data_.push_back(make_pair(i*x_resolution1, a_1 * cos(i*x_resolution1) + b_1 * sin(i*x_resolution1)));//data_的元素存储的是(θ,ρ)//访问存放在vector的成员(pair方式存在),便于观察理解cout << data_[i].first<<"," <<data_[i].second<< endl;}plot_->addPlotData(data_, "line", vtkChart::LINE);//X,Y均为double型的向量data_.clear();}
C++:vector容器中使用pair该如何访问成员相关推荐
- vector容器中数据的排序方法
前言 在项目中经常会遇到对vector容器中数据排序的情况,有时候vector中数据还常常是pair关联容器.此处给出一个使用demo,使用了C++中的lambda表达式. #include" ...
- vector容器中erase(删除)的使用
erase函数可以用于删除vector容器中的一个或者一段元素,在删除一个元素的时候,其参数为指向相应元素的迭代器,而在删除一段元素的时候,参数为指向一段元素的开头的迭代器以及指向结尾元素的下一个元素 ...
- vector容器中关于处理从非0位置开始赋值的操作
一:前言 问题描述:我们想从下标非0的位置开始赋值, 那么我们需要两步骤:1.确定开启的vector容器的范围(eg: vector v(1000)) 2.在赋值的时候,不可以用push_back() ...
- C++ STL list容器中元素的存取和访问
list容器不提供 at() 和 操作符 operator[] ,对容器中元素的访问有些不便,但是我们可以使用迭代器进行元素的访问,例子如下: #include <iostream> #i ...
- vector容器中重写sort方法
一:问题描述 1: 我们常用的vector中sort方法是升序的但我们可以通过重新定义sort方法即可实现其的降序处理,以前总是在结构体数组当中用到过重写sort方法,但其实在vector当中也是可以 ...
- vector容器中查找某一元素是否存在(牛逼的vector!!!!!!)
一:前言 当你想要快速查找某一元素是否存在,可以调用该方法 二:步骤 1.写迭代器:vector ::iterator t; 2.调用find方法:t = find(v.begin(),v.end() ...
- vector容器中清空元素(但原来的元素还在)
一:上码演示 1:清空元素但其原来的元素还在 #include<bits/stdc++.h> using namespace std; int main(){vector <int& ...
- C++ vector容器中常见的三种遍历方式
1.迭代器 for (std::vector<int>::iterator it = vecTest.begin(); it != vecTest.end(); ++it){tempNum ...
- C++读txt文件,存入vector容器中
经常需要用到读txt文件里的数据,总结一个模板希望以后可以直接套用. //C++ 读txt文件 #include <iostream> #include <sstream> # ...
最新文章
- 厦门大学计算机专业录取分数线2019,厦门大学2019年本科生录取分数线
- 谷歌启动AlphaFold商业化:成立新公司,专注AI新药开发技术
- 文件夹目录结构导出工具及下载
- linux创建指定大小的文件
- Hologres如何支持超高基数UV计算(基于roaringbitmap实现)
- centos8 yum安装mysql8 流程配置
- SQL Server(三):Select语句
- matlab实现将彩色图像(R,G,B)色分量的直方图匹配,并计算其相关性
- in packet sniffer
- IE主页被篡改,修改“Internet 选项”也无法解决时的解决方法
- 树莓派云台舵机怎么用_基于树莓派的多舵机控制的定位拍照云台
- 强烈分享两个功能强大,可以极大提高工作效率的软件
- addToSet与each插入多条值
- python kayb算法之从一组序列当中获取一组与目标值最接近的算法
- history查看历史命令,并显示运行时间
- SpringCloud知识概括
- 项目章程的主要内容#软考高级信息系统项目管理师/高项读书笔记#3
- QT项目五:简易计算器
- Rufus 制作U盘启动
- CADD药物设计;QSAR模型
热门文章
- [JavaScript] 日期时间戳的使用与计算
- python 判断字典是否包含某个key,以及对应的value 值
- Android 弱引用 (WeakReference)的使用
- Vue $createElement
- 2022-2028年中国相变蜡行业市场前瞻与投资战略规划分析报告
- Android实战技巧之六:PreferenceActivity使用详解
- sftp协议下如何上传和下载文件
- MAC OS X的ACL扩展权限设置
- TensorFlow平台搭建
- 计算机基础2多媒体,《计算机基础》第2章-多媒体技术.pptx