1
我有一個類A,與成員的陰影:檢測成員變量
std::shared_ptr<class B> m_mySharedPtr;
我有一個初始化方法:
A::Init()
{
std::shared_ptr<class B> m_mySharedPtr = m_factory->CreateMySharedPtr();
}
我花了一些時間來實現我的初始化shared_ptr的後是空的。 這是因爲我重新定義成員,作爲本地處理,因此在A :: Init()作用域之外釋放。
我的意思是寫:
A::Init()
{
m_mySharedPtr = m_factory->CreateMySharedPtr();
}
爲什麼編譯器不抱怨嗎?至少有一個警告? 類似於「成員重新定義」。
它確實在特定情況下有效/有用嗎?
也許我的警告級別太低。
感謝,
文森特
您不重新定義成員,因爲您沒有在函數內定義成員。 –
此外,這個問題不必要地混淆了標題和標籤。它與共享指針無關。 –
我試圖測試某些東西時隱藏了(未重新定義)成員變量,但我總是在其他人看到它之前將其刪除。 –