我有這是一個指針成員的結構/類,比方說刪除指針是一個公共類成員
struct myStruc
{
int* m_p;
}
1.問:我應該在哪裏刪除指針?在析構函數中?
myStruct::~myStruct()
{
delete m_p;
}
2.問題:如果指針被分配給一個指針數組,例如
myStruct mS;
mS.m_p = new int[3];
有一個很好的方式(無dynamic_cast的或的try-catch)到現在,如果我要做delete
或delete[]
?
A /方法是在構造函數中分配內存並在析構函數中釋放它。 – 2013-04-10 14:32:26
你能告訴更多關於用例的信息嗎? myStruc的目的是什麼?誰在設置m_p? m_p指向什麼?誰決定並知道這一點? – 2013-04-10 14:40:42
[第20項:避免在公共界面中的數據成員。](http://www.amazon.com/Effective-Specific-Improve-Programs-Designs/dp/0321334876) – 2013-04-10 14:54:50