静态成员变量
在项目开发中有很多的宏常量,放在以前都是通过#define 来定义,但是在c++中是不建议这么写的,
这个时候静态成员变量就起来很好的作用,如下:
Common.h
class CommonVar
{
public:
static constexpr double SCREEN_WIDTH = 900.0;
static constexpr double SCREEN_HEIGHT = 1024.0;
static constexpr double PI = 3.1415926;
static constexpr double ZERO = 0.000000001;
private:
};
c++中必须加constexpr,以确保编译器知道这些是常量表达式。这样我们就可以在我们的代码里面读取这些数据了,这些都是共有的数据,只需要CommonVar::PI就可以访问这些共有的常量,是不是很方便,也解耦。
静态成员函数
典型的就是单例模式的应用
#include <iostream>
using namespace std;
class TestSingle
{
public:
static TestSingle* instance()
{
return ts;
}
public:
void info()
{
std::cout << "this is TesttSingle info" << std::endl;
}
private:
static TestSingle* ts;
};
TestSingle* TestSingle::ts = new TestSingle();