c++中static关键字

Posted on 2008-01-30 14:17  少林  阅读(346)  评论(0编辑  收藏  举报

一 ,Static 关键字的声明
    static关键字只能在类体中进行声明,如:
    class MyStatic
    {
            private::
                          static const string name;
    }
二,static关键字的初始化
    所有的static变量的初始化必须要在类体外进行初始化,象前面的例子可以这样来初始化
    const string MyStatic::name("MyStatic");
    但是有一个例外,就是整型的const静态数据成员可以在类体中用一常量值初始化.例如:
    Class MyStatic
    {
            private::
                       static const int nameSize = 16;
                        static const string char name[nameSize];
    }
    //初始化
    const int MyStatic::nameSize;
    const char MyStatic::name[nameSize] = "MyStatic";

    如果别的类型,就不可以这样初始化的,如以下的做法是错误的:
    Class MyStatic
    {
        private::
                static const string char name[nameSize] = "MyStatic";
    }
三,Static 成员的引用
    static成员的引用有两个方式,
    (1) 通过类名进行引用
            如上面的例子可以这样来引用:
                MyStatic::name = "ssd";
    (2)通过成员访问符进行引用:
            MyStatic myStatic;
            myStatic.name = "ssd";

Copyright © 2024 少林
Powered by .NET 9.0 on Kubernetes