我需要将我的代码从java翻译成c ++并研究该vector是arraylist的替代品。但是我不知道如何去做。以下是questionn数组的初始化和实现。
ArrayList<Question> questionList = new ArrayList<Question>();
ArrayList<Question> answeredQuestionList = new ArrayList<Question>();
答案 0 :(得分:2)
你可以用C ++初始化它们:
std::vector<Question> questionList;
std::vector<Question> answeredQuestionList;
这些会自动调用std::vector
default constructor,这会创建一个空矢量。
答案 1 :(得分:0)
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
返回指针时,变量类型也必须是指针。