[問題] C++ class中 static 變數的問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++
問題(Question):
想知道這樣為何compile會過.
class A_List{
private:
struct A_Elm {
A *m_fun;
struct LA_Elm *m_next;
};
static struct A_Elm *head; //搞不懂此行, 稱為aa.
};
A_List::A_Elm *A_List::head; //搞不懂此行, 稱為bb.
預期的正確結果(Expected Output):
A_List::head 因為重複定義, 而compile不過.
錯誤結果(Wrong Output):
compile通過了....
我知道aa 這種寫法, 會讓所有 A_List生出的物件, 共用同一個 head 指標.
但為何bb還要寫一次? 又不會跟aa衝突?
我曾經將bb註解掉, 仍是可compile過, 甚至運行結果也是對的,
想知道為何會這樣, 是否小弟有重要觀念沒弄懂.
--
從傷害中學會成長 從成長中學會遺忘
從遺忘中知道不能欺騙自己 從絕望中知道不能繼續愛你.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.24.47.33
→
02/09 21:22, , 1F
02/09 21:22, 1F
→
02/09 23:21, , 2F
02/09 23:21, 2F