欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解c++11以正確的姿勢輸出enum class的值

 更新時間:2020年10月30日 11:06:06   作者:ztenv  
這篇文章主要介紹了詳解c++11以正確的姿勢輸出enum class的值,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

c++11新增了enum class,相比傳統(tǒng)的enum好處多了很多,但也有些讓人不太爽的地方,如:輸出到std流時會報錯,進行了強轉則沒有信息輸出,那么,到底該如何將enum class的值出到std流呢?

提供這個enum class的原因是因為舊的enum有不少缺點。簡單描述一下:

1. 容易被隱式轉換成int

2. underlying type 指的是編譯器實現者幕后的實現細節(jié)導致了跨平臺,跨編譯器的不一致性。尺寸的不可估計等等。

3. 沒有嚴格的scope界限

下面,介紹一種通過重載<<操作符的方法來實現,如下:

#include <iostream>
#include <sstream>

enum class error_code
{
  ok=0,
  invalid_args=1,
  runtime_error=2,
  //..
}; 

//重載operator<<的操作符,使error_code支持<<輸出
std::ostream & operator<<(std::ostream &os,const error_code &ec)
 {
   os<<static_cast<std::underlying_type<error_code>::type>(ec);
   return os;
 }


using namespace std;

int main(int argc,char *argv[])
{
  cout<<error_code::ok<<endl;
  cout<<error_code::invalid_arg<<endl;
  cout<<error_code::runtime_error<<endl;
 
  stringstream ss;
  ss<<error_code::runtime_error;

  return 0;
}

到此這篇關于詳解c++11以正確的姿勢輸出enum class的值的文章就介紹到這了,更多相關c++11 輸出enum class內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C++實現LeetCode(63.不同的路徑之二)

    C++實現LeetCode(63.不同的路徑之二)

    這篇文章主要介紹了C++實現LeetCode(63.不同的路徑之二),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • C++哈希應用之位圖,哈希切分與布隆過濾器詳解

    C++哈希應用之位圖,哈希切分與布隆過濾器詳解

    這篇文章主要為大家詳細介紹了C++哈希應用中的位圖、哈希切分與布隆過濾器,文中的示例代碼講解詳細,具有一定的學習價值,需要的可以參考一下
    2023-04-04
  • 基于OpenCV實現圖像分割

    基于OpenCV實現圖像分割

    這篇文章主要為大家詳細介紹了基于OpenCV實現圖像分割,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C/C++ 常用排序算法整理匯總分享

    C/C++ 常用排序算法整理匯總分享

    排序算法,就是如何使得記錄按照要求排列的方法。排序算法在很多領域得到相當地重視,尤其是在大量數據的處理方面。一個優(yōu)秀的算法可以節(jié)省大量的資源。本篇整理了c語言和c++的常用的排序算法,感興趣的朋友可以參考下
    2021-06-06
  • C語言實現通訊錄的八種功能(添加、刪除、查找、修改、顯示、排序、退出、清空)

    C語言實現通訊錄的八種功能(添加、刪除、查找、修改、顯示、排序、退出、清空)

    本文主要介紹了C語言實現通訊錄的八種功能,主要包括添加、刪除、查找、修改、顯示、排序、退出、清空,感興趣的可以了解一下
    2023-09-09
  • Qt實現繪制一個簡單多邊形的示例代碼

    Qt實現繪制一個簡單多邊形的示例代碼

    QT提供了圖形繪制接口QPainter,通過該接口可以繪制多種圖形,包括多邊形。本文就來利用它實現繪制一個簡單的多邊形,感興趣的可以嘗試一下
    2022-11-11
  • C++利用鏈棧實現表達式求值

    C++利用鏈棧實現表達式求值

    這篇文章主要為大家詳細介紹了C++利用鏈棧實現表達式求值的相關資料,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Qt QFrame的具體使用

    Qt QFrame的具體使用

    本文主要介紹了Qt QFrame的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • C++的運算符你真的了解嗎

    C++的運算符你真的了解嗎

    這篇文章主要為大家詳細介紹了C++的運算符,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 內核線程優(yōu)先級設置的方法介紹

    內核線程優(yōu)先級設置的方法介紹

    本篇文章介紹了,內核線程優(yōu)先級設置的方法。需要的朋友參考下
    2013-05-05

最新評論