我是靠谱客的博主 平淡世界,最近开发中收集的这篇文章主要介绍C++ enum hack 技巧,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在定义一个类内的专属常量时,通常定义成为静态常量类型,如:

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 技巧所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部