感觉我平时能用指针都用指针的说……
业精于勤,荒于嬉;行成于思,毁于随。
能不用指針就不用指針,智慧指針和引用都是很好的選擇。
我到覺得,C++不用指標就等於折了C++的翅膀,但是使用指標是需要很小心的。
基本上來說,就是哪裡new 就在哪裡delete (特殊情況就是在create() 方法裡new 在remove() 方法裡delete,但同時需要create() 和remove() 盡量在同一個程式碼區塊內,依序類推,最典型的就是構造裡new,析構裡delete。
如果確定用指針你也能控制住對象的生命週期, 那可以用指針. (注意要考慮到 C++ 異常) 否則, 用智慧指針.
能不用指針就不用指針,智慧指針和引用都是很好的選擇。
我到覺得,C++不用指標就等於折了C++的翅膀,但是使用指標是需要很小心的。
基本上來說,就是哪裡new 就在哪裡delete (特殊情況就是在create() 方法裡new 在remove() 方法裡delete,但同時需要create() 和remove() 盡量在同一個程式碼區塊內,依序類推,最典型的就是構造裡new,析構裡delete。
另外,盡量不要使用指標運算,如果需要運算的地方,盡可能的使用資料方式處理,例如 *(p++),可以寫成 p[1],這樣避免改變指標的值,造成混亂。如果確定用指針你也能控制住對象的生命週期, 那可以用指針. (注意要考慮到 C++ 異常)
否則, 用智慧指針.