C++:static用法详解 c++ static const
C++中static是一个关键字,它有多种用法,下面详细介绍每种用法:
1. 静态变量
在函数中,使用static关键字可以定义一个静态局部变量,该变量只被初始化一次,不会在函数调用结束时销毁,而是一直存在于内存中,直到程序结束。例如:
void func()
{
    static int count = 0;
    count++;
    cout << "count value: " << count << endl;
}2. 静态函数
在函数定义时使用static关键字,可以将函数声明为静态函数,静态函数不能被其他文件中的代码访问,只能被当前文件中的其他函数调用。例如:
static void printMessage(const char* message)
{
    cout << message << endl;
}3. 静态成员变量和静态成员函数
在类中使用static关键字,可以定义静态成员变量和静态成员函数。
静态成员变量是指在类中定义的一个静态成员,所有该类的对象共用同一个静态成员变量。静态成员变量必须在类外定义,并在类名称前加上类作用域运算符::和关键字 static,例如:
class MyClass {
public:
    static int count;
};
int MyClass::count = 0;静态成员函数是指在类中定义的一个静态函数,它不属于任何一个对象,而是属于整个类,即可以被该类的所有对象所共享。静态成员函数只能访问静态成员变量和其他静态成员函数,不能访问非静态成员变量和非静态成员函数。静态成员函数使用关键字static定义,例如:
class MyClass {
public:
    static void printCount() {
    cout << "Count: " << count << endl;
}
private:
    static int count;
};
int MyClass::count = 0;在上面的例子中,printCount是一个静态成员函数,它可以访问count这个静态成员变量。
总的来说,static关键字可以起到限制变量、函数作用范围和定义共享数据等作用。在实际开发中,需要根据实际情况合理使用static关键字。
相关文章
- Spring Boot中对接Twilio以实现发送验证码和验证短信码
 - Spring Boot 3.5:这次更新让你连配置都不用写了,惊不惊喜?
 - Spring Boot+Pinot实战:毫秒级实时竞价系统构建
 - SpringBoot敏感配置项加密与解密实战
 - SpringBoot 注解最全详解,建议收藏!
 - Spring Boot 常用注解大全:从入门到进阶
 - SpringBoot启动之谜:@SpringBootApplication如何让配置化繁为简
 - Springboot集成Kafka原理_spring集成kafka的原理
 - Spring Boot中@Data注解的深度解析与实战应用
 - 大佬用1000字就把SpringBoot的配置文件讲的明明白白!
 
