В C ++ вы используете не массив, а экземпляр std::vector
.Массивы в C ++ должны иметь фиксированную длину во время компиляции, в то время как экземпляры std::vector
могут изменять свою длину во время выполнения.
std::vector<std::string> Config::getVehicles()
{
std::vector<std::string> test(5);
test[0] = "test0";
test[1] = "test1";
test[2] = "test2";
test[3] = "test3";
test[4] = "test4";
return test;
}
std::vector
также может динамически увеличиваться, поэтому в программах на C ++ вы найдете чащечто-то вроде
std::vector<std::string> Config::getVehicles()
{
std::vector<std::string> test; // Empty on creation
test.push_back("test0"); // Adds an element
test.push_back("test1");
test.push_back("test2");
test.push_back("test3");
test.push_back("test4");
return test;
}
Динамически выделять массив std::string
технически возможно, но ужасная идея в C ++ (например, C ++ не предоставляет сборщика мусора, который есть в Java).
Если вы хотите программировать на C ++, тогда возьмите хорошую книгу по C ++ и прочитайте ее, чтобы покрыть сначала ... написание Java-кода на C ++ - это рецепт катастрофы, потому что языки, несмотря на внешнее сходство фигурных скобок,очень сильно отличаются во многих фундаментальных отношениях.