概述
在定义一个类内的专属常量时,通常定义成为静态常量类型,如:
class GamePlayer
{
private:
static const int NumTurns = 5;
int scores[NumTurns];
....
};
如果编译器不支持类内静态成员初始化,则可以使用“the enum hack”的补偿做法。
class GamePlayer
{
private:
//static const int NumTurns = 5;
enum { NumTurns = 5 };
int scores[NumTurns];
....
};
ps.
之所以不使用#define的原因是,#define无法控制该常量的可视范围
对于单纯的常量,最好以const对象或者enum替换#defines
对于形似函数的macro,最好改用inline函数替换#defines
转载于:https://www.cnblogs.com/opkyo/p/7263406.html
最后
以上就是平淡世界为你收集整理的C++ enum hack 技巧的全部内容,希望文章能够帮你解决C++ enum hack 技巧所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复