C++里面的static类型很有用,它能代表对于整个类都起作用的一个参数,但是它的声明和初始化方法有点难以理解,在此记录一笔。
声明很简单,只要在头文件里声明即可,比如:
class CPlayer
{
static float frame_time;
}
注意不能在声明里面初始化;
那么在哪初始化呢?正确的姿势是在cpp当中,在所有函数体之外(全局区域)初始化,并且不要static关键词,还需要加上类名,就像这样:
#include "stdafx.h"
#include "Player.h"
#include <iostream>
#include <math.h>
float CPlayer::frame_time = 120;
这是使用静态变量的正确姿势。