static++在c++中用于改变变量、函数及类成员的行为,主要有四个用途:1.修饰局部变量时延长其生命周期至整个程序运行期间,但作用域不变;2.修饰类成员变量实现数据共享,所有对象共用一份副本,需类外初始化;3.修饰类成员函数使其只能访问静态成员,无this指针,与对象无关;4.修饰全局函数或变量限制其作用域仅当前文件,增强封装性和避免命名冲突。掌握static的不同用法有助于提升代码结构和性能。

在C++中,
static

当
static

比如:
立即学习“C++免费学习笔记(深入)”;
void count() {
static int count = 0;
count++;
std::cout << count << std::endl;
}每次调用
count()
count

这个特性常用于需要记录函数被调用次数、缓存数据等场景。
在类中声明为
static
例如:
class Student {
public:
static int totalStudents;
};
int Student::totalStudents = 0; // 必须在类外定义一次无论创建多少个
Student
totalStudents
静态成员变量不能在构造函数里初始化(除非是const整型),一般放在类外单独初始化。
类中的静态成员函数只能访问静态成员变量或其他静态成员函数,不能访问非静态成员。
比如:
立即学习“C++免费学习笔记(深入)”;
class Counter {
static int count;
public:
static int getCount() { return count; } // 正确
// int getTotal() const { return count; } // 也合法,但不是静态函数
};静态成员函数没有
this
如果你希望一个函数不依赖于对象实例,只和类本身有关,就可以把它设为静态。
在文件作用域下使用
static
例如:
static int helperValue = 0;
static void helperFunc() {
// 只能在当前文件中调用
}这样其他文件即使知道这些名字,也无法访问它们。
这种用法在模块化开发中很常见,避免命名冲突。
基本上就这些。
static
以上就是C++中static关键字有哪些作用 局部变量类成员和函数用法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号