当前位置: 首页 > wzjs >正文

电子兼职网站建设宁夏住房和城乡建设部网站

电子兼职网站建设,宁夏住房和城乡建设部网站,深圳seo优化公司搜索引擎优化方案,在线培训系统appC Core Guidelines 整理目录 哲学部分接口(Interface)部分函数部分类和类层次结构部分枚举部分资源管理部分 Enum: 枚举 Enum.1: Prefer enumerations over macros 翻译: 如果需要定义一组相关的命名常量, 优先使用枚举而非宏. 原因: 枚举提供了更好的类型安全性和可读性, …

C++ Core Guidelines 整理目录

  1. 哲学部分
  2. 接口(Interface)部分
  3. 函数部分
  4. 类和类层次结构部分
  5. 枚举部分
  6. 资源管理部分

Enum: 枚举

Enum.1: Prefer enumerations over macros

  • 翻译: 如果需要定义一组相关的命名常量, 优先使用枚举而非宏.

  • 原因: 枚举提供了更好的类型安全性和可读性, 而宏可能会导致代码难以理解和维护.

  • 示例:

    错误示例:

    // webcolors.h (third party header)
    #define RED   0xFF0000
    #define GREEN 0x00FF00
    #define BLUE  0x0000FF// productinfo.h
    // The following define product subtypes based on color
    #define RED    0
    #define PURPLE 1
    #define BLUE   2int webby = BLUE;   // webby == 2; probably not what was desired
    

    正确做法:

    enum class Web_color { red = 0xFF0000, green = 0x00FF00, blue = 0x0000FF };
    enum class Product_info { red = 0, purple = 1, blue = 2 };int webby = blue;   // error: be specific
    Web_color webby = Web_color::blue;
    

    enum class可以规避命名冲突.

Enum.2: Use enumerations to represent sets of related named constants

  • 翻译: 使用枚举来表示相关命名常量的集合.

  • 原因: 这样可以增加代码的可读性和类型安全性, 使代码更易于理解和维护.

  • 示例:

    enum class Product_info { red = 0, purple = 1, blue = 2 };void print(Product_info inf) {switch (inf) {case Product_info::red: cout << "red"; break;case Product_info::purple: cout << "purple"; break;}
    }
    

    对于 switch case 没有提到的枚举, 编译器通常会有警告.

Enum.3: Prefer enum classes over “plain” enums

  • 翻译: 优先选择枚举类(enum class)而非普通枚举(plain enum).
  • 原因: 枚举类提供了更强的类型安全和作用域控制, 避免了命名冲突和意外的类型转换.

Enum.4: Define operations on enumerations for safe and simple use

  • 翻译: 为枚举定义操作, 以确保它们的安全使用和简化代码.
  • 原因: 适当的枚举操作可以提高代码的健壮性和可读性, 减少错误的发生.

Enum.5: Don’t use ALL_CAPS for enumerators

  • 翻译: 不要对枚举成员使用全大写字母.

  • 原因: 这有助于区分枚举成员和其他常量, 提高代码的可读性. 宏通常使用全大写字母来表示常量.

  • 示例:

      // webcolors.h (third party header)
    #define RED   0xFF0000
    #define GREEN 0x00FF00
    #define BLUE  0x0000FF// productinfo.h
    // The following define product subtypes based on colorenum class Product_info { RED, PURPLE, BLUE };   // syntax error
    

Enum.6: Avoid unnamed enumerations

  • 翻译: 避免使用未命名的枚举.

  • 原因: 未命名的枚举可能会导致代码维护上的困难, 降低代码的可读性和可维护性.

  • 示例:

    错误示例:

    enum { red = 0xFF0000, scale = 4, is_signed = 1 };
    

    这种情况可能是你错误的把一些不相干的常量放到一起. 可以考虑用constexpr来重写这些常量.

Enum.7: Specify the underlying type of an enumeration only when necessary

  • 翻译: 仅在必要时指定枚举的基础类型.
  • 原因: 通常情况下编译器会自动选择合适的基础类型, 手动指定可能会影响代码的可移植性和可维护性.
  • 示例:
// 枚举值比较小时可以用较小的类型来存储, 节省空间
enum class Direction : char { n, s, e, w,ne, nw, se, sw };// 声明为int32_t是多余的
enum class Web_color : int32_t { red   = 0xFF0000,green = 0x00FF00,blue  = 0x0000FF };

Enum.8: Specify enumerator values only when necessary

  • 翻译: 仅为枚举成员指定值在必要时.
  • 原因: 默认情况下编译器会自动为枚举成员分配连续的整数值, 手动指定值可能会引入不必要的复杂性.

文章转载自:

http://kUMfELTK.nbzmc.cn
http://0rZxckEE.nbzmc.cn
http://pjOXrVDJ.nbzmc.cn
http://7v3HVw40.nbzmc.cn
http://Ay5LF0ot.nbzmc.cn
http://mP8ZeJfs.nbzmc.cn
http://F5SIuxcu.nbzmc.cn
http://6lTj1W8M.nbzmc.cn
http://1U2Q5pgG.nbzmc.cn
http://zFP8KQaD.nbzmc.cn
http://Nwzmo1AB.nbzmc.cn
http://gVU6NfR5.nbzmc.cn
http://guQoAwc0.nbzmc.cn
http://ksy9P58r.nbzmc.cn
http://BnF2XKXu.nbzmc.cn
http://YELbQs1l.nbzmc.cn
http://A0Zg0tPZ.nbzmc.cn
http://HdQFDaIS.nbzmc.cn
http://x1WabPvo.nbzmc.cn
http://If9OhlWj.nbzmc.cn
http://BB8wP9M1.nbzmc.cn
http://WAKkGM3I.nbzmc.cn
http://i36UwGkT.nbzmc.cn
http://uMYaH48S.nbzmc.cn
http://9NYEekg1.nbzmc.cn
http://K1g4O2pd.nbzmc.cn
http://qj0w3TLF.nbzmc.cn
http://ET7NRfR0.nbzmc.cn
http://kF17smjz.nbzmc.cn
http://0IfEwfmn.nbzmc.cn
http://www.dtcms.com/wzjs/759338.html

相关文章:

  • 网站开发就业做网站用什么程序
  • h5网站价格东莞做创意网站
  • 丽水微信网站建设哪家好公司网站建设与维护工作计划
  • 网站集约整合建设交流ps软件手机版
  • 重庆职业能力建设投稿网站seo是什么缩写
  • 1000个免费货源网站入口衡水企业网站
  • 北京网站建设价位许昌正规网站优化公司
  • 中小学生做试卷的网站6我想做代理商
  • 苏州网站建设找思创网站网络推广策略和电子商务
  • 有没有网站做lol网站的企业网站管理系统教程
  • 嘉兴网站建设的前景可以做样机图的网站
  • asp网站空间淄博建网站
  • 东莞网站定制开发商场网站 策划
  • 政务网站群建设湖南搜索引擎推广平台
  • asp做网站基本过程成都高端建设网站
  • 学校网站 建设措施直播网站开发要多久
  • 专业定制网站系统做网站认证违法吗
  • 网站忘了怎么办啊wordpress漫画站
  • 佛山做企业网站的公司深圳做网站哪家
  • 网站建设数据安全分析网站建设原因
  • 信得过的网站开发推广网络信息化建设方案
  • 山东建设工程信息网站红酒网站定位
  • 肇庆市建设局网站网站响应是什么
  • 做网站工作的怎么填职务保洁公司网站模板
  • wordpress幻灯片回收站在哪里中国最大的免费素材网站
  • 可以自己买服务器做网站吗常平网站开发
  • 佛山网站设计是40岁以上的设计师都去哪了
  • 怎么注册微网站桂林网站制作报价
  • 10元建站佛山百度快速排名优化
  • 朝阳专业网站建设公司郑州银行app