Re: [cpp] c++中类的静态成员变量定义时分配内存的好处是什么?
巤邓
tdzl2003 at gmail.com
Fri May 23 07:58:21 CST 2008
没什么好处 8230; 8230;是C++和底层打交道的局限性之一。更抽象一点的语言都不会这样做的。
2008/5/22 error.d <error.d at gmail.com>:
> 呵呵,可能是我没表达清楚.我的意思是类的静态成员变量在定义时才给它分配空间,这样做的好处是什么啊?为什么不在声明时就给它分配空间啊?
>
> 在 08-5-22,巤邓<tdzl2003 at gmail.com> 写道:
> > 咩,从不这样用
> > 类中的静态变量几乎和全局变量完全,仅仅是加上类名作为命名空间而已。
> > 好处就是拥有了一个命名空间,不会被类以外的程序干扰。另外它拥有全局变量的一切好处,比如不论在哪个线程,模块内的哪一个函数,都可以去使用它。
> >
> 但它和全局变量一样,不太受现代编程风格欢迎。但还有很多地方用到它,比如singleton的实现,比如ATL在设计Com接口时的一个入口表,还是用(也没有必要特意的不用)类的静态变量来实现。一般来说,应该将它设为私有private,在少数情况下为了方便设为protect。一个public的静态变量可以说没有太大存在的意义。
> >
> >
> > 2008/5/22 error.d <error.d at gmail.com>:
> >
> >> 一直这么用这,但想不通这样设计的好处是什么呢?
> >>
> >> _______________________________________________
> >> Cpp mailing list
> >> Cpp at codingnow.com
> >> http://codingnow.com/mailman/listinfo/cpp
> >>
> >
>
> _______________________________________________
> Cpp mailing list
> Cpp at codingnow.com
> http://codingnow.com/mailman/listinfo/cpp
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://codingnow.com/pipermail/cpp/attachments/20080523/78c7d744/attachment.html
More information about the Cpp
mailing list