Как вернуть нулевые индексы вектора в C ++ - PullRequest
0 голосов
/ 26 мая 2020

У меня есть вектор, содержащий структуру. Пример:

structure A { int x; int y; int z;)
vector<A> myVectorA;

Теперь, когда у меня есть требование к функции, которая говорит мне возвращать индексы myVectorA, отсчитываемые от 0, и прототип функции выглядит следующим образом.

vector<size_t> get_A() const
{

}

Я новичок и не уверен, что предназначено для этой функции и что вернуть из этой функции, которая соответствует типу возвращаемого значения vector<size_t>.

Может кто-нибудь помочь.

Редактирование для добавления дополнительной информации.

Мой вектор myVectorA является членом класса publi c, и его нужно вернуть из функции vector<size_t> get_A() const. Но, глядя на прототип функции, он возвращает vector<size_t> Итак, мой вопрос в том, как преобразовать вектор типа Структура A (здесь myVectorA) в другой вектор типа vector<size_t>

1 Ответ

0 голосов
/ 26 мая 2020

Ваш вопрос недостаточно ясен. Посмотрите, подходит ли вам приведенный ниже ответ. В приведенной ниже функции 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 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...