您的位置:首页 > 其它

static

2016-04-27 20:04 225 查看
static能够修饰成员变量和成员函数。对象的空间大小不包含静态成员变量的大小。C++在物理中将函数和数据分开,对象的大小就是数据的大小(若没有数据,则对象的大小为1,不为0),所有函数是共用的,通过this指针区别,从而进行不同对象调用不同的函数。

但是对象的大小不包含静态成员数据的大小,而静态成员函数中也不能使用this指针。所有对象共用数据和函数。

1.当static修饰成员变量的时候,可在类外部进行初始化。

class A

{

private:

static int a;

}

int A::a = 10;

2.当static修饰成员函数时,他用于管理静态成员变量。不能访问非static的成员数据和成员函数。

static修饰的成员变量和成员函数属于类,但是对象可以使用。

注意:如果有一个成员变量有const和static修饰,那么必须在类的声明处进行初始化。例如:

class A

{

private:

const static int a = 10;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  static