我是 C++ 新手。
对于一个学校项目,我需要创建一个能够返回字符串数组的函数。
目前我的标题中有这个:
Config.h
string[] getVehicles(void);
配置文件
string[] Config::getVehicles(){
string test[5];
test[0] = "test0";
test[1] = "test1";
test[2] = "test2";
test[3] = "test3";
test[4] = "test4";
return test;}
显然这是行不通的,但这就是我想要做的事情的想法。
在 Java 中,这就是这样做的方法。我尝试用谷歌搜索我的问题,但说实话我没有找到任何明确的答案。
也许在这种情况下使用向量更好,但这不是问题的正确答案。它不起作用的原因是变量 test 只存在于函数的范围内。
所以你必须自己管理内存。这是一个例子:
string* getNames() {
string* names = new string[3];
names[0] = "Simon";
names[1] = "Peter";
names[2] = "Dave";
return names;
}
在这种情况下,您将返回堆中位置的指针。堆中的所有内存都必须手动释放。因此,如果您不再需要该内存,那么现在您需要删除它:
delete[] names;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)