[問題] 請問關於static的用法

看板C_and_CPP (C/C++)作者 (雞卷)時間16年前 (2009/05/27 15:17), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/2 (看更多)
因為class可直接用::運算子使用static成員 有三個物件A、B、C C中有一個函式名為myFcn 1.若將myFcn定義為一個static函式 在A、B中只要C::myFcn()就能夠使用 2.若myFcn並非static函式 則A、B必須建立一個C物件才能夠使用myFcnc函式 在這兩種情況下,(1) 沒有建立任何C物件 (2) 則建立了兩個C物件 就資源的使用上是不是(2) 浪費了更多記憶體呢? 另外若myFcn函式中會使用到vector,而這個vector的大小並非固定的 也就是說這次可能是大小為10,另一次可能是大小為60 是不是就無法將myFcn定義為static 我本來是打算這樣用 myFcn(int size) { myVector.resize(size); . . } 但是編譯過不了,這是因為myVector因為也是static,所以只能在定義時初始化一次嗎 -- 有兩個人我第一次看他們打球 我就知道他們一定會拿冠軍 一個是Shaquille O'Neal 另一個則是Timothy Duncan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.249.2.10

05/27 16:58, , 1F
我猜是你沒寫 C::myFcn
05/27 16:58, 1F

05/27 16:59, , 2F
另外如果你物件內容不大其實浪費記憶體的量根本沒有差別
05/27 16:59, 2F
文章代碼(AID): #1A7EaZ_I (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1A7EaZ_I (C_and_CPP)