如何在C++中返回一个基于零的向量指数

问题描述 投票:-1回答:1

我有一个持有结构的向量.Ex.A,我有一个函数,它告诉我返回myVectorA的基于0的索引,函数原型如下。

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>

c++ vector stl size-t
1个回答
-1
投票

你的问题还不够清楚。看看下面的答案是否是你所需要的。在下面的函数get_A中,将返回myvectorA中的所有元素,格式是 [x0,y0,z0,x1,y1,z1,...].

#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;
}

OUTPUT -

1 2 3 4 5 6 7 8 9 
© www.soinside.com 2019 - 2024. All rights reserved.