如何将多维数组值加载到向量中?

时间:2011-06-02 22:05:19

标签: c++ vector

这是代码的一部分(标题和主要部分):

#include <iostream>
#include <sstream>
#include <string>
#include <gl\GL.h>
#include <gl\GLU.h>
#include <glut.h>
#include <RassHost.h>
#include <api\iomap.h>
#include <api\iotrans.h>
#include <api\cgeometry.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控制多维数组。

谢谢!

2 个答案:

答案 0 :(得分:3)

您需要创建矢量矢量:

vector< vector<OBJECT3D_RCN_TYPE> > _objects;

然后将它填充为普通矢量。

我发布了更多代码,但你需要知道数组的维度,我无法从代码中看到它们。

答案 1 :(得分:0)

您还可以使用Boost::multi_array。它的api就像std::vector一样,但可能足以满足您的需求。