推 sunkill:記得 static 原本會自重初始為 0 放 class 應該也一樣吧 04/22 09:47
推 SHANGOYANYI:沒錯 static變數預設初始就是0 04/22 15:30
如果是說在 A.cpp 裡面那行 int A::i = 0; 的 "= 0;" 可以省略,那沒錯
但是那行主要功用是要定義 int A::i
這個步驟可是不能少的
只有 include 進 A.h 但是沒有實際定義那個 static variable
之後就會造成 linking error
而若要被多個 .cpp 檔案使用,又直接可以寫在 header 裡面的 static variable
則只有 static const variable 可以直接在 class 裡面定義了
(可惜 VC6 不行,VC6 的解法跟 non-const static variable 一樣)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.70.137.117
推 yoco315:推薦這篇文章 04/22 19:36