从函数返回数组
回答
返回一个指针数组的开始,如:
int* getArray(int numElements) {
int* theArray = malloc(sizeof(int) * numElements);
return theArray;
}
...你可以使用它像:
int* myArray = getArray(3);
myArray[0] = 1;
myArray[1] = 2;
myArray[2] = 3;
//do this when you are done with it
free(myArray);
如果用'shared_array'替换'int *',然后用'new []'替换'malloc',并删除'free',然后是的。 – 2011-05-08 11:20:33
为什么**不**使用指针的完美例子。这并不表示该函数正在返回动态分配块的所有权。因此,调用者如何知道返回的指针应该被解除分配。如果通过某种魔法,你知道它需要被分配,那么调用者如何知道如何执行该任务free(),delete,delete []? – 2011-05-08 11:25:59
在C++代码中,你几乎不应该传递RAW指针。在组件的内部有一些余地,但不应该通过外部接口传递给属于另一个开发人员的代码。这是因为没有所有权的概念。不知道谁拥有指针,不知道谁应该释放指针。 – 2011-05-08 11:29:03
- 1. 从函数返回数组
- 2. 从函数返回数据库数组
- 3. 函数从数据库返回数组
- 4. 如何从Delphi函数返回数组?
- 5. 从Node.js函数返回数组
- 6. 从C++函数返回一个数组
- 7. 如何从函数返回数组?
- 8. 使用从函数返回的数组
- 9. 如何从函数返回数组?
- 10. 从函数返回数组/指针
- 11. 从PHP函数返回数组
- 12. 从函数返回对象数组 - VBA
- 13. PHP函数返回数组
- 14. 函数返回空数组
- 15. JavaScript函数返回数组
- 16. 函数返回BYTE数组
- 17. 返回数组的函数
- 18. C#函数返回数组
- 19. 数组函数返回null
- 20. 函数返回数组php
- 21. Powershell函数返回数组
- 22. 从函数返回函数而不调用返回函数
- 23. 返回从函数
- 24. 从函数返回列表的元组
- 25. 从数组阵列返回数组的函数
- 26. 函数PHP PDO参数返回数组
- 27. 从函数返回一个lambda函数
- 28. Javascript函数返回undefined从mongodb函数
- 29. 返回deferred.done,不从函数返回
- 30. 从函数返回值
您可能要等待一个答案[另一你的问题](http://stackoverflow.com/questions/5927023/how-to-return-an-array-to-a-function),而不是问两个非常相似的对方。 – Bart 2011-05-08 11:07:13
最简单的方法是使用std :: vector而不是数组。 :-) – 2011-05-08 11:12:49