[英]Returning a vector(return type)
我距離最終掌握指針和引用的完整用法和概念僅一步之遙(或者我希望如此),因此我需要您的幫助來使事情變得清楚。
我有一個ClassA
的private
成員向量,其中包含一個對象,所以vector<myObj> vec
。
我應該在ClassA
使用哪種類型的吸氣劑來返回vec
以便我可以打印myObj
內容而無需冗余分配內存? 我是否需要return
由VEC reference
,定期return vec
,或者甚至一個指針vec
您應該通過常量引用返回:
const vector<myObj>& ClassA::getVec() const{
return vec;
}
這意味着(i)不獲取值副本,並且(ii)調用者無法修改引用,這有助於提高程序的穩定性。
注意我也是如何使成員函數為const
。 這意味着您可以從ClassA
的常量實例中調用此函數。
您可以返回對向量的const引用:
const vector<myObj>& get() const
{
return vec;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.