作者jijuan (雞卷)
看板C_and_CPP
標題[問題] 請問關於static的用法
時間Wed May 27 15:17:51 2009
因為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
1F:推 Ebergies:我猜是你沒寫 C::myFcn 05/27 16:58
2F:→ Ebergies:另外如果你物件內容不大其實浪費記憶體的量根本沒有差別 05/27 16:59