<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          C++核心準(zhǔn)則Enum.4:為枚舉類(lèi)型定義運(yùn)算符以便安全又簡(jiǎn)單地使用

          9e4a9eb83493b1f333ec629411ccdc78.webp

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

          Enum.4:為枚舉類(lèi)型定義運(yùn)算符以便安全又簡(jiǎn)單地使用


          Reason(原因)

          Convenience of use and avoidance of errors.

          方便使用又少犯錯(cuò)。


          Example(示例)

          enum Day { mon, tue, wed, thu, fri, sat, sun };

          Day& operator++(Day& d)
          {
          return d = (d == Day::sun) ? Day::mon : static_cast(static_cast(d)+1);
          }

          Day today = Day::sat;
          Day tomorrow = ++today;

          The use of a?static_cast?is not pretty, but

          static_cast的用法不太好,但是:

          Day& operator++(Day& d)
          {
          return d = (d == Day::sun) ? Day::mon : Day{++d}; // error
          }

          is an infinite recursion, and writing it without a cast, using a?switch?on all cases is long-winded.

          是一個(gè)特別深的遞歸,如果不用cast,使用覆蓋所有情況的switch語(yǔ)句又會(huì)過(guò)于繁雜。


          Enforcement(實(shí)施建議)

          Flag repeated expressions cast back into an enumeration.

          標(biāo)記反復(fù)轉(zhuǎn)換,最后變成枚舉類(lèi)型的表達(dá)式。


          原文鏈接:

          https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#enum4-define-operations-on-enumerations-for-safe-and-simple-use




          覺(jué)得本文有幫助?請(qǐng)分享給更多人。

          關(guān)注【面向?qū)ο笏伎肌枯p松學(xué)習(xí)每一天!

          面向?qū)ο箝_(kāi)發(fā),面向?qū)ο笏伎迹?/span>


          瀏覽 81
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青草精品视频在线观看 | 91亚洲国产成人久久精品网站 | 伊人成人小说 | 亚洲操逼视屏 | 欧美操逼视频免费看 |