如何在C++中返回向量的从零开始的索引
How to return a zero based indices of a vector in C++
我有一个包含结构的向量。 前任:
structure A { int x; int y; int z;)
vector<A> myVectorA;
现在我需要一个函数,它告诉我返回 myVectorA 的从 0 开始的索引,函数原型如下所示。
vector<size_t> get_A() const
{
}
我是初学者,不确定这个函数的目的是什么,以及从这个与vector<size_t>
返回类型匹配的函数返回什么。
有人可以帮忙吗?
编辑以添加更多信息。
我的向量myVectorA
是一个公共类成员,需要从函数返回vector<size_t> get_A() const
。但是查看函数原型,它返回vector<size_t>
所以我的问题是如何将结构 A 类型的向量(此处myVectorA
(转换为另一个vector<size_t>
型向量
你的问题还不够清楚。看看下面的答案是否是你需要的。在下面的函数中get_A将以格式[x0,y0,z0,x1,y1,z1,...]
返回myvectorA的所有元素。
#include <bits/stdc++.h>
using namespace std;
struct A { int x; int y; int z;};
vector<size_t> get_A(vector<A> myVectorA)
{
vector<size_t>a;
for(int i=0;i<myVectorA.size();i++){
a.push_back(myVectorA[i].x);
a.push_back(myVectorA[i].y);
a.push_back(myVectorA[i].z);
}
return a;
}
int main() {
vector<A>myVectorA;
A a{1,2,3};
A b{4,5,6};
A c{7,8,9};
myVectorA.push_back(a); // myVectorA now becomes - [{1,2,3}]
myVectorA.push_back(b);
myVectorA.push_back(c);// now I have pushed 3 instances of struct A. myVectorA now becomes - [{1,2,3},{4,5,6},{7,8,9}]
vector<size_t>res = get_A(myVectorA); //will return [1,2,3,4,5,6,7,8,9]
for(int i=0;i<res.size();i++)
cout<<res[i]<<" "; //prints all elements of myVectorA
return 0;
}
输出-
1 2 3 4 5 6 7 8 9
相关文章:
- 当回溯以零开始时,如何调试崩溃
- C ++中的StringStream有助于使用向量从字符串中提取逗号分隔的整数,而不是空格分隔的整数,为什么?
- 如何在 c++ 中确定一条指令(以字节为单位)在哪里结束,另一条指令从哪里开始?
- 将向量从 N1 缩小到 N2 项,而不触发默认构造函数并仅使用 move 语义
- 从末尾开始的字符串中获取反向子字符串
- C++ 从具有开始位置和结束位置的列表中删除
- C++程序从主程序开始执行并在主程序结束?
- 如何在C++中返回向量的从零开始的索引
- 我看过Stellarium代码,我不知道它从哪里开始
- 从午夜开始以最低的延迟获得纳秒
- 通过关键点向量从地图中获取地图
- 为什么 std::cin 从一开始就不读
- 使用递归从尾部开始反转链表
- 尝试查找从索引 0 开始的偶数长度子字符串
- 如何初始化非静态模板成员变量从临时工开始,即而无需复制或移动
- 将字符串向量从 C# 传递到C++ DLL
- 为什么C++向量大小从 4294967296 开始,而调试器将其读取为 0?
- Vector:<int>:迭代器在设置时使用 begin 时从向量的末尾开始
- 每次按键从零开始计数
- Seekg,Telg,从零开始计数和文件大小