Как загрузить значения многомерного массива в вектор?

#c #vector

#c #вектор

Вопрос:

Это часть кода (заголовок и основная часть):

 #include <iostream>
#include <sstream>
#include <string>
#include <glGL.h>
#include <glGLU.h>
#include <glut.h>
#include <RassHost.h>
#include <apiiomap.h>
#include <apiiotrans.h>
#include <apicgeometry.h>
#include <vector>

using namespace std;

int main()
{
    cout << "Enter IP: " << endl;
    getline(cin, server_ip);

    enum(KEY_L = 'A', KEY_R = 'D', KEY_RUN = 'WW', KEY_JUMP='SPACE');

    typedef OBJECT_3D_SYS_TYPES_NUM OBJECT3D_RCN_TYPE;

    OBJECT3D_RCN_TYPE _psyObjects[][] = getPsyhicsPartObjects();

    vector<OBJECT3D_RCN_TYPE> _objects;

    //I would like to load _psyObjects[][] into vector<OBJECT3D_RCN_TYPE> _objects;

    Server::StartGame(Server::getIP(), 8888, "-r run", false);

    system("pause");
    return 0;
}
  

Возможно ли скопировать _psyObjects значения в vector<OBJECT3D_RCN_TYPE> ?

Я хочу управлять многомерным массивом с помощью векторного api, если это возможно.

Спасибо!

Комментарии:

1. Вектор является одномерным, но ничто не мешает вам иметь вектор векторов, если вам действительно нужен двумерный массив … извините, не могу предоставить достойный фрагмент кода, не зная больше о типах, которые вы здесь используете.

Ответ №1:

Вам нужно будет создать вектор векторов:

 vector< vector<OBJECT3D_RCN_TYPE> > _objects;
  

Затем просто заполните его как обычный вектор.

Я бы опубликовал больше кода, но вам нужно знать размеры массива, а я не вижу их в коде.

Ответ №2:

Вы также могли бы использовать Boost::multi_array . Этот API похож на std::vector ‘s, но, возможно, достаточно похож, чтобы удовлетворить ваши потребности.