最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++使用boost::lexical_cast進行數值轉換

 更新時間:2022年06月20日 09:34:17   作者:天方  
這篇文章介紹了C++使用boost::lexical_cast進行數值轉換的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

在STL庫中,我們可以通過stringstream來實現字符串和數字間的轉換:

    int i = 0;
    stringstream ss;

    ss << "123";
    ss >> i;

但stringstream是沒有錯誤檢查的功能,例如對如如下代碼,會將i給賦值為12.

    ss << "12.3";
    ss >> i;

甚至連這樣的代碼都能正常運行:

    ss << "hello world";
    ss >> i;

這顯然不是我們所想要看到的。為了解決這一問題,可以通過boost::lexical_cast來實現數值轉換:

    int i = boost::lexical_cast<int>("123");
    double d = boost::lexical_cast<double>("12.3");

對于非法的轉換,則會拋異常:

    try
    {
        int i = boost::lexical_cast<int>("12.3");
    }
    catch (boost::bad_lexical_cast& e)
    {
        cout << e.what() << endl;
    }

對于16機制數字的轉換,可以以如下方式進行:

    template <typename ElemT>
    struct HexTo {
        ElemT value;
        operator ElemT() const {return value;}
        friend std::istream& operator>>(std::istream& in, HexTo& out) {
            in >> std::hex >> out.value;
            return in;
        }
    };

    int main(void)
    {
        int x = boost::lexical_cast<HexTo<int>>("0x10");
    }

到此這篇關于C++使用boost::lexical_cast進行數值轉換的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C++ 詳細講解對象的構造順序

    C++ 詳細講解對象的構造順序

    對象的構造往往和構造函數會牽扯在一起,構造函數的函數可能會由非常復雜的邏輯所組成,不同類的構造函數的程序邏輯很可能是相互依賴的,當這種相互依賴一旦成立,那么對象的構造順序很可能導致難以調試的Bug出現
    2022-04-04
  • C語言結構體詳細圖解分析

    C語言結構體詳細圖解分析

    C 數組允許定義可存儲相同類型數據項的變量,結構是 C 編程中另一種用戶自定義的可用的數據類型,它允許你存儲不同類型的數據項,本篇讓我們來了解C 的結構體
    2022-03-03
  • 超級詳細講解C++中的多態(tài)

    超級詳細講解C++中的多態(tài)

    多態(tài)是在不同繼承關系的類對象,去調同一函數,產生了不同的行為,下面這篇文章主要給大家介紹了關于C++中多態(tài)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • C++代碼實現貪吃蛇小游戲

    C++代碼實現貪吃蛇小游戲

    這篇文章主要為大家詳細介紹了C++貪吃蛇小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 基于curses庫實現彈球游戲

    基于curses庫實現彈球游戲

    這篇文章主要為大家詳細介紹了基于curses庫實現彈球游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 深入探討POJ 2312 Battle City 優(yōu)先隊列+BFS

    深入探討POJ 2312 Battle City 優(yōu)先隊列+BFS

    本篇文章是對優(yōu)先隊列+BFS進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • c語言通過棧判斷括號匹配是否配對

    c語言通過棧判斷括號匹配是否配對

    前面實現了棧的基本數據結構,這里來做一個聯(lián)系,用棧來解決一道比較常見的算法題,就是括號配對是否滿足規(guī)則,文中有相關的代碼示例供大家參考,需要的朋友可以參考下
    2023-09-09
  • C++ sizeof 實例解析

    C++ sizeof 實例解析

    下面5個列子針對C++,沒有涉及到sizeof字節(jié)對齊及基本數據類型即只針對C++特有,并且針對的是32位機
    2013-07-07
  • 一文詳解C++17中的結構化綁定

    一文詳解C++17中的結構化綁定

    C++17中的結構化綁定(structured binding)是指將指定名稱綁定到初始化程序的子對象或元素,本文主要來和大家聊聊C++17中結構化綁定的實現,感興趣的小伙伴可以了解下
    2023-12-12
  • C語言實例講解四大循環(huán)語句的使用

    C語言實例講解四大循環(huán)語句的使用

    C語言有四大循環(huán)語句,他們之間可以進行任意轉換。本文將首先對其語法進行講解,然后通過一個實例用四種循環(huán)來實現。相信通過本文的學習,大家都能夠對C語言循環(huán)語句有著熟練的掌握
    2022-05-05

最新評論

启东市| 延边| 沐川县| 隆尧县| 静海县| 饶平县| 施秉县| 松原市| 澳门| 靖西县| 富蕴县| 友谊县| 绥宁县| 紫阳县| 江永县| 西宁市| 成武县| 苗栗市| 杭锦后旗| 邵阳县| 江门市| 手机| 济南市| 上思县| 车致| 民勤县| 鄂托克前旗| 安达市| 闽清县| 沛县| 冷水江市| 清水河县| 盐边县| 常山县| 宝清县| 驻马店市| 高邮市| 安陆市| 汝州市| 临漳县| 封丘县|