Flags_API Ver2.0
我在之前的部落格https://blog.csdn.net/ICE_KoKi/article/details/81224957 寫過一個工程中標誌位的API,後來在實際應用中發現有兩個問題:
- 原部落格方法1支援的flag數量太過有限 ,工程應用中32個可能還是不夠用;
- 原部落格方法2在VS2013中是測試通過的,但是C99標準下無法通過測試 ,估摸著還是字串的處理方法導致的,因此方法2適用性不夠廣;
- 原部落格方法2過於僵硬,在呼叫對應標誌位時還需要加上字串所需的雙引號,經過測試,我發現還是方法1好使。
以上原因促使我改進了原部落格的方法1,具體改進方向為:
- 將可用的標誌位數量擴充套件為理論上的“無限” ;
- 保留原版方法的易用度 。
程式碼詳見GitHub連結: https://github.com/FunkyKoki/Flags_API
有兩點在使用時需要注意:
1.在我開源的程式碼中,僅將標誌位數量擴充套件為128個,不過拋磚引玉 ,相信看懂的童鞋依葫蘆畫瓢很容易進行擴充套件,這裡我就偷一個懶了。
2.有的童鞋可能會抱怨flags.h太長,實際上,作為建議,在確保你所定義的標誌位數量小於等於可用數量時,你儘可將列舉型別中無用的部分刪去,僅保留您自定義的列舉項以及最大項Flag_MAX 。
Hope you enjoy it!