我忙於設計新的C++應用程序。在這個應用程序中,我想盡量減少指針的潛在錯誤,並且由於應用程序應該是普通的C++(沒有.Net或其他奇特的東西),我正在研究共享指針,我正在考慮在任何地方使用共享指針(而不是普通指針)。如何使用C++中的共享指針更容易地工作
我摸索出一些技巧,使其更容易與共享指針,例如工作:使用類中的一個typedef,就像這樣:
class X
{
public:
...
typedef std::shared_ptr<X> Ptr;
};
這樣,你可以很容易地編寫X :: PTR,這比任何地方的「std :: shared_ptr」都更容易編寫。
我也注意到一些缺點共享指針:
- 我到處都使用一個共享的指針我需要包括
<memory>
- 如果我只是想用指針,我不能再使用前置聲明
是否有任何其他技巧使共享指針更易於使用?
我使用了一個類似於你之前建議的typedef,但是因爲我發現直接使用'shared_ptr'來更可讀。相反,我更喜歡將shared_ptr拉入全局名稱空間,以便更易於編寫(通過'using std :: shared_ptr;')。個人品味壽的事情。 –
ltjax
2010-12-21 08:53:46