将 Java ArrayList 转换为 C++ 向量时出现问题

trouble with translating java arraylist to c++ vector

本文关键字:问题 向量 C++ Java ArrayList 转换      更新时间:2023-10-16

嗨,我需要将我的代码从 Java 转换为 C++,并研究了该向量是 arraylist 的替代品。 但是我不知道该怎么做。下面是问题数组的初始化和实现。

ArrayList<Question> questionList = new ArrayList<Question>();
ArrayList<Question> answeredQuestionList = new ArrayList<Question>();
您可以像

这样C++初始化它们:

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

这些将自动调用std::vector默认构造函数,这将创建一个空向量。

Java

中的new和C++中的new实际上并不具有相同的含义。

无指针版本:

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

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

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返回指针一样,变量类型也必须是指针。