C++ 【類名 &函數(shù)名(){ }】與【類名 函數(shù)名(){ }】return內容的分析

//1
Point &element(int index) {
    ......................
    return points[index];
}

//2
Point element(int index) {
    ......................
    return points[index];
}

??假設兩個類Point和ArrayOfPoints,points是指向ArrayOfPoints類對象中動態(tài)生成的Point類對象數(shù)組的指針(在ArrayOfPoints類中定義構造函數(shù)函數(shù)體:points = new Point[size];),那么points[index]就代表該數(shù)組當中的某個對象元素。

??如果采用1的方法,則return的是points[index]的引用(別名),當回到主調函數(shù)中對這個return的內容進行修改,就會直接修改ArrayOfPoints類對象中的封裝動態(tài)數(shù)組內部的數(shù)組元素(即Point類對象)里的數(shù)據。

??如果采用2的方法,則返回的是points[index]這個Point類對象里面數(shù)據的“副本”,當回到主調函數(shù)中對這個“副本”進行的任何修改都不會影響到ArrayOfPoints類對象里的封裝動態(tài)數(shù)組中的元素里的數(shù)據。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容