C++中类的static静态变量的定义和初始化方法
2015-04-02 20:44
197 查看
C++里面的static类型很有用,它能代表对于整个类都起作用的一个参数,但是它的声明和初始化方法有点难以理解,在此记录一笔。
声明很简单,只要在头文件里声明即可,比如:
注意不能在声明里面初始化;
那么在哪初始化呢?正确的姿势是在cpp当中,在所有函数体之外(全局区域)初始化,并且不要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;
这是使用静态变量的正确姿势。
相关文章推荐
- 【c++】为什么类中静态(static)成员不能在类的定义内初始化?
- c++ 带有初始化成员列表的类构造函数 定义与实现分离 方法
- c++在一个类中将别的需要传参的类定义成私有成员并初始化的方法
- C++中静态变量、常量、静态整型常量、静态非整型常量、引用变量的初始化方法
- java 静态初始化块中,方法中不可以定义静态变量(重要)
- C++ 静态变量初始化(static pthread_mutex_t 初始化)
- C#中为什么不能再方法里定义静态变量(Static)
- static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法
- 关于C++中定义对象及对象初始化的方法
- C++中重构函数声明定义与static变量使用方法
- C/C++的结构体中的静态变量必须在结构体外定义初始化
- Java静态方法,静态变量,初始化顺序 static
- C/C++定义全局变量/常量几种方法的区别
- C++中方法定义和调用需要注意的一个地方
- c++ 类中static变量初始化问题
- C/C++全局变量的定义方法
- 在C++中定义常量的两种方法的比较
- C++中Static作用和使用方法
- C++顺序容器:头文件,定义和初始化
- C/C++定义全局变量/常量几种方法的区别