[問題] 成員變數一開始宣告成空指標有比較快嗎?
程式碼(Code):(請善用置底文網頁, 記得排版)
void wxEvtHandler::DoBind(int id,
int lastId,
wxEventType eventType,
wxEventFunctor *func,
wxObject *userData)
{
// 省略
if (!m_dynamicEvents)
m_dynamicEvents = new wxList;
// 省略
}
bool
wxEvtHandler::DoUnbind(int id,
int lastId,
wxEventType eventType,
const wxEventFunctor& func,
wxObject *userData)
{
if (!m_dynamicEvents)
return false;
wxList::compatibility_iterator node = m_dynamicEvents->GetFirst();
while (node)
{
// 省略
}
return false;
}
補充說明(Supplement):
像上面程式碼中的 m_dynamicEvents,一開始是 NULL,等到 DoBind 的時候才 new 出來
可是這樣寫,之後每個要使用 m_dynamicEvents 的函式(如 DoUnbind)
不就都要先檢查一次 m_dynamicEvents 是否等於 NULL,才能開始對物件存取?
雖然會節省一點點空間,但是這樣寫實在很麻煩,也不清楚對速度的影響是好是壞
請問有其他理由支持這種寫法嗎?
--
放著養蚊子的部落格 http://resolaqq.blogspot.tw
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.230.17.168
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1450350495.A.25B.html
推
12/17 19:52, , 1F
12/17 19:52, 1F
推
12/17 19:57, , 2F
12/17 19:57, 2F
→
12/17 19:58, , 3F
12/17 19:58, 3F
→
12/17 20:10, , 4F
12/17 20:10, 4F
→
12/17 20:11, , 5F
12/17 20:11, 5F
→
12/17 20:51, , 6F
12/17 20:51, 6F
→
12/17 20:53, , 7F
12/17 20:53, 7F
→
12/17 21:43, , 8F
12/17 21:43, 8F
→
12/17 21:44, , 9F
12/17 21:44, 9F
→
12/17 23:14, , 10F
12/17 23:14, 10F
→
12/17 23:15, , 11F
12/17 23:15, 11F
→
12/17 23:16, , 12F
12/17 23:16, 12F
→
12/17 23:17, , 13F
12/17 23:17, 13F
→
12/17 23:18, , 14F
12/17 23:18, 14F
→
12/18 01:32, , 15F
12/18 01:32, 15F
→
12/18 01:32, , 16F
12/18 01:32, 16F
→
12/18 01:33, , 17F
12/18 01:33, 17F
推
12/18 02:09, , 18F
12/18 02:09, 18F
→
12/18 02:10, , 19F
12/18 02:10, 19F
→
12/18 13:19, , 20F
12/18 13:19, 20F
推
12/18 14:32, , 21F
12/18 14:32, 21F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章