class A
{
private:
A(){};
~A(){};
public:
static A* GetInstance(void)
{
static A obj;
return& obj;
}
};
,我假設如果事情bad
情況只會在第一次發生,因爲在類的構造函數只初始化首次GetInstance
一個調用發生,我不知道C的大深度++,我不信任C++,所以當我需要一個指向這個類,將在函數中使用很多次,我目前做:我是否曾經需要檢查此方法的指針有效性?
A* ptr = A::GetInstance();
if(ptr)
{
檢查指針的有效性,我相信該方法返回的地址其中存儲obj
的值以便ptr
將指向它,whi我想它can't
失敗。
請注意,我不是在談論一個小應用程序,我目前正在開發一個500,000多線MMO服務器應用程序,它可以處理數千個客戶端,並且必須保持打開數週而不會崩潰,防禦性編程是最少的最低要求。是否對確定,100%可安全使用ptr
而不檢查其有效性?
'我不相信C++'的恥辱......相信語言,熱愛語言。 – Mike
@Mike:當涉及到管理靜態對象的生命週期時,他不信任C++。這充滿了隱患。 –
如果您不信任該語言以在需要時爲您提供有效指針,那麼您是否真的相信它能夠正確檢查指針是否有效? –