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

C++使用boost::lexical_cast進(jìn)行數(shù)值轉(zhuǎn)換

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

在STL庫中,我們可以通過stringstream來實(shí)現(xiàn)字符串和數(shù)字間的轉(zhuǎn)換:

    int i = 0;
    stringstream ss;

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

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

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

甚至連這樣的代碼都能正常運(yùn)行:

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

這顯然不是我們所想要看到的。為了解決這一問題,可以通過boost::lexical_cast來實(shí)現(xiàn)數(shù)值轉(zhuǎn)換:

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

對于非法的轉(zhuǎn)換,則會拋異常:

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

對于16機(jī)制數(shù)字的轉(zhuǎn)換,可以以如下方式進(jìn)行:

    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");
    }

到此這篇關(guān)于C++使用boost::lexical_cast進(jìn)行數(shù)值轉(zhuǎn)換的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++ 詳細(xì)講解對象的構(gòu)造順序

    C++ 詳細(xì)講解對象的構(gòu)造順序

    對象的構(gòu)造往往和構(gòu)造函數(shù)會牽扯在一起,構(gòu)造函數(shù)的函數(shù)可能會由非常復(fù)雜的邏輯所組成,不同類的構(gòu)造函數(shù)的程序邏輯很可能是相互依賴的,當(dāng)這種相互依賴一旦成立,那么對象的構(gòu)造順序很可能導(dǎo)致難以調(diào)試的Bug出現(xiàn)
    2022-04-04
  • C語言結(jié)構(gòu)體詳細(xì)圖解分析

    C語言結(jié)構(gòu)體詳細(xì)圖解分析

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

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

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

    C++代碼實(shí)現(xiàn)貪吃蛇小游戲

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

    基于curses庫實(shí)現(xiàn)彈球游戲

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

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

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

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

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

    C++ sizeof 實(shí)例解析

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

    一文詳解C++17中的結(jié)構(gòu)化綁定

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

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

    C語言有四大循環(huán)語句,他們之間可以進(jìn)行任意轉(zhuǎn)換。本文將首先對其語法進(jìn)行講解,然后通過一個(gè)實(shí)例用四種循環(huán)來實(shí)現(xiàn)。相信通過本文的學(xué)習(xí),大家都能夠?qū)語言循環(huán)語句有著熟練的掌握
    2022-05-05

最新評論

甘孜县| 广南县| 礼泉县| 应城市| 东乡| 永清县| 清丰县| 永德县| 敖汉旗| 遂川县| 中牟县| 乐山市| 梨树县| 霍林郭勒市| 华宁县| 建始县| 龙川县| 渝北区| 张家口市| 罗山县| 焦作市| 静宁县| 长海县| 大连市| 宁南县| 墨玉县| 特克斯县| 琼海市| 沁水县| 北流市| 墨脱县| 遂平县| 连州市| 金堂县| 沙洋县| 中牟县| 勃利县| 黄梅县| 阿勒泰市| 云和县| 济源市|