從函數返回數組
回答
返回一個指針數組的開始,如:
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. 從函數返回數據庫數組
- 5. 使用從函數返回的數組
- 6. 如何從Delphi函數返回數組?
- 7. 從PHP函數返回數組
- 8. 從函數返回數組/指針
- 9. 從C++函數返回數組
- 10. 從Node.js函數返回數組
- 11. 從函數返回數組c
- 12. 從函數返回可變數組
- 13. 從函數返回字符數組
- 14. 從C++函數返回一個數組
- 15. 如何從函數返回數組?
- 16. 從PHP函數返回數組
- 17. 從VBA中的函數返回數組
- 18. 從函數返回多維數組
- 19. 從函數返回對象數組 - VBA
- 20. 如何從函數返回數組?
- 21. 如何從函數返回數組?
- 22. 從異步函數中返回數組
- 23. 從C函數返回一個數組
- 24. 從函數C++返回2dim數組
- 25. 函數返回數組返回NULL
- 26. 函數返回數組 - PHP
- 27. 數組函數返回null
- 28. PHP函數返回數組
- 29. 函數返回空數組
- 30. 函數返回數組C++
您可能要等待一個答案[另一你的問題](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