C++中static要点总结

来源:本站
导读:目前正在解读《C++中static要点总结》的相关信息,《C++中static要点总结》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《C++中static要点总结》的详细说明。
简介:本文主要对C++中static要点进行了总结。

1、静态成员的提出是为了解决数据共享的问题。

2、因为静态成员函数是属于类的一部分,而不是某个对象的一部分,因此静态成员函数没有this指针,this指针是用于指向某个对象的。又因为静态成员函数没有this指针,因此在静态成员函数中不能直接调用非静态成员,因为非静态成员都是通过指向对象的this指针隐式或显式调用的。

在静态成员函数的实现中不能直接引用类中说明的非静态成员,可以引用类中说明的静态成员。如果静态成员函数中要引用非静态成员时,可通过对象来引用。

3、引用静态数据成员时,采用如下格式:

<类名>::<静态成员名>

如果静态数据成员的访问权限允许的话(即public的成员),可在程序中,按上述格式来引用静态数据成员。

也可以通过对象引用。

4、

静态成员函数不能即是static,又是const。因为:

When you apply the const qualifier to a non-static member function, it affects the this pointer. For a const-qualified member function of class C, the this pointer is of type C const*, whereas for a member function that is not const-qualified, the this pointer is of type C*.

A static member function does not have a this pointer (such a function is not called on a particular instance of a class), so const qualification of a static member function doesn't make any sense.

就是说const关键字是修饰this的,但是一旦使用了static关键字,this便与这个函数没有关系了,这样const便不能再修饰这个函数了。

与C相比,C中的用法:

1、一般情况下,对于局部变量是存放在栈区的,并且局部变量的生命周期在该语句块执行结束时便结束了。但是如果用static进行修饰的话,该变量便存放在静态数据区,其生命周期一直持续到整个程序执行结束。

2、修饰全局变量或函数,是它们的作用域仅限于本原文件。

提醒:《C++中static要点总结》最后刷新时间 2024-03-14 00:58:06,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《C++中static要点总结》该内容的真实性请自行鉴别。