2011-11-01 115 views

回答

6

否;你只能通過包裝他們structclass內返回的數值數組(實際上,你可以簡單地返回std::array,它封裝了一個模板類,它也提供了一些花裏胡哨內C數組適當的情況下)。

+0

+1:始終使用'std :: array'。 – Puppy

+0

'的std :: VECTOR'將工作以及(如果OP沒有TR1或C++ 11庫) – Praetorian

+0

@Praetorian:但它是一個完全不同的事情(更強大,但也有一些開銷,矯枉過正數任務)。 –

1

不,這是不可能的,除非你使用某種自定義的數組類(如性病::由利瑪竇提及意大利陣列)。 C/C++中的數組的處理方式與指針非常相似。

+5

用C和C++編號的數組不是***指針。他們*在許多場合衰變*,但他們是不同的野獸。看看[數組常見問題](http://stackoverflow.com/questions/4810664/how-do-i-use-arrays-in-c/4810676)。 –

+0

它是如何有效地自動分配的指針?如果你可以提供一個關於這個文件的鏈接,將不勝感激。 – jli

+0

您可以閱讀C或C++標準(您將看到數組和指針是具有不同規則的分隔類型)或上述FAQ。 –

1

沒有這在C/C是不允許++。

您可以參考返回數組,如果它不是本地運行。另一個解決方法是將其封裝在「結構/類」包裝中並返回其對象。

+0

我將如何通過引用返回數組? – Xavier

+0

@ Xavier,請看這裏[demo](http://www.ideone.com/7OWal)。 – iammilind

相關問題