作者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