将java arraylist转换为c ++向量的麻烦

时间:2017-03-15 12:12:46

标签: java c++

我需要将我的代码从java翻译成c ++并研究该vector是arraylist的替代品。但是我不知道如何去做。以下是questionn数组的初始化和实现。

ArrayList<Question> questionList = new ArrayList<Question>();
ArrayList<Question> answeredQuestionList = new ArrayList<Question>();

2 个答案:

答案 0 :(得分:2)

你可以用C ++初始化它们:

std::vector<Question> questionList;
std::vector<Question> answeredQuestionList;

这些会自动调用std::vector default constructor,这会创建一个空矢量。

答案 1 :(得分:0)

Java中的

new和C ++中的new并没有真正相同的含义。

没有指针版本:

std::vector<Question> questionList;
std::vector<Question> answeredQuestionList;

OR

std::vector<Question> questionList({});
std::vector<Question> answeredQuestionList({});

OR

std::vector<Question> questionList = std::vector<Question>();
std::vector<Question> answeredQuestionList = std::vector<Question>();

使用指针版本:

std::vector<Question>* questionList = new std::vector<Question>();
std::vector<Question>* answeredQuestionList = new std::vector<Question>();

当C ++中的new返回指针时,变量类型也必须是指针。