在C++中如何從函數返回一個對象數組?在C++中如何從函數返回一個對象數組?
回答
通過返回一個std :: vector。
+1這是答案。 – 2010-11-09 21:14:05
myobject *myfunc()
{
return new myobject[10];
}
但要小心 - 您將數組的所有權轉移給調用者,可能是導致內存泄漏的原因。
編輯:返回一個指向數組的指針比返回一個std :: vector要快得多。如果你打算使用std :: vector(正如其他人寫的那樣),你可能會喜歡這樣做:
void myfunc(std::vector<myobject> &result)
{
result.resize(0);
for(int i=0;i<10;++i)
result.push_back(myobject());
}
技術上正確。但是這忽略了這是可怕的代碼這一事實。 (編輯:也許它是對象) – 2010-11-09 21:15:28
@John這段代碼有什麼可怕的?對象與此有什麼關係? – 2010-11-09 21:18:45
@Let_Me_Be:以相反的順序:OP特意詢問一組對象。如果你已經連續超過了幾天,應該清楚爲什麼這是不好的。泄漏的內存不好,這個代碼是內存泄漏的溫牀。 – 2010-11-09 21:28:06
- 1. 從函數返回一個對象C++
- 2. C++如何從一個函數正確返回一個對象
- 3. 從返回一個C++對象的函數中返回null
- 4. 從C++函數返回一個數組
- 5. 從C函數返回一個數組
- 6. 函數如何返回一個對象?
- 7. 從函數返回對象數組 - VBA
- 8. 如何從對象函數返回一個對象 - javascript?
- 9. Javascript-從函數返回一個對象
- 10. PHP從函數返回一個對象
- 11. 你如何從一個函數返回一個對象?
- 12. 如何從C函數返回一個數組作爲表lua?
- 13. 如何從C函數返回一個數組類型?
- 14. 我應該如何從函數中返回一個對象?
- 15. 如何從COM對象在C#中返回數組(double [])?
- 16. 在C++中,我想從一個函數返回一個對象數組,並用它在另一個
- 17. 如何從數組中返回一個對象?
- 18. 使一個函數返回一個包含對象的數組
- 19. 如何從函數返回對象?
- 20. 從函數返回對象
- 21. C#:從對象返回數組
- 22. C++ Lambdas:函數返回一個函數,返回一個函數...?
- 23. 如何從Array的原型函數返回數組對象?
- 24. C++:在另一個類的函數中返回對象
- 25. 返回從一個在C void函數++
- 26. 如何從嵌套函數中返回對象?高階函數
- 27. 從對象數組中返回一個數組的唯一數組值
- 28. 從函數中返回一個字符數組c
- 29. 從C中的函數返回一個數組:Segmentation Fault
- 30. 如何在zend framework 2中返回一個對象數組?
你的書說什麼? – GManNickG 2010-11-09 21:54:27