指針如何與面向對象編程的概念一起工作?指針和麪向對象編程
據我瞭解(請認識到,我被歸類爲ID-10T),OOP的主要原則是包含在課堂中的遏制和管理責任(記憶/實施等);但是當一個對象的方法返回一個指針時,好像我們是'彈出'的對象。現在,有人可能需要擔心:
- 是否他們應該刪除指針的關聯對象?
- 但是如果班級仍然需要這個對象呢?
- 他們可以改變對象嗎?如果是這樣,怎麼樣? (我承認
const
可能會解決這個問題) - 等等...
看來對象的用戶現在需要知道多更多關於如何類作品和什麼類預計用戶。這感覺就像是一隻「貓沒有包裝」的情景,似乎在OOP面前拍了拍。
注:我注意到,這是一個獨立於語言的問題;但是,在C++環境中工作時,系統提示我提問。
在C++ 11中,原始指針只能用於表示無所有權。 –
我會研究「const vs nonconst」,「指針vs參考」,「左值vs右值」和「std :: unique_ptr」,「std :: shared_ptr」和「std :: weak_ptr」。人們抱怨C++中存在複雜的內存管理問題,這些問題在其他語言(如Java和C#)中被渲染 - 然而還有一個好處:性能。 –