国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

boost 字符串與文本處理 -> lexical_cast

2019-11-06 08:20:09
字體:
來源:轉載
供稿:網友

lexical_cast P178

示例代碼

#include <boost/lexical_cast.hpp> int main() { using namespace boost; int x = lexical_cast<int>("100"); long y = lexical_cast<long>("2000"); float pai = lexical_cast<float>("3.14159e5"); double e = lexical_cast<double>("2.71828"); cout<< x << y << pai << e << endl; string str = lexical_cast<string>(456); cout<<str<<endl; cout<<lexical_cast<string>(0.618)<<endl; cout<<lexical_cast<string>(0x10)<<endl; }

異常bad_lexical_cast 當lexical_cast無法執行轉換操作時會拋出異常bad_lexical_cast。我們可以利用bad_lexical_cast來驗證數字符串的合法性,實現一個模板函數num_valid()的代碼如下:

template<typename T> bool num_valid(const char* str) try { lexical_cast<T>(str); return true; } catch(bad_lexical_cast&) { return false; };

應用于自己的類

示范

class demo_class{ friend std::ostream& Operator<<(std::ostream& os, const demo_class& x) { os<<"demo_class's Name"; return os; }};int main(){ cout << lexical_cast<string>(demo_class())<<endl;}

模板類 輸出類名

template<typename T> struct outable { friend std::ostream& operator<<(std::ostream& os, const T& x) { os <<typeid(T).name(); return os; } }; class demo_class:outable<demo_class>{}; int main() { cout<<lexical_cast<string>(demo_class())<<endl; }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孟州市| 通州区| 赣州市| 沅陵县| 黔西县| 江山市| 团风县| 达尔| 竹山县| 乐都县| 明溪县| 图木舒克市| 鹿邑县| 凤山县| 谷城县| 阳谷县| 五寨县| 宁武县| 五莲县| 天津市| 三明市| 娄底市| 疏附县| 农安县| 祁东县| 博湖县| 永康市| 无极县| 大安市| 旌德县| 鄱阳县| 安远县| 晋城| 鄂尔多斯市| 黄冈市| 芦山县| 五大连池市| 吴忠市| 临城县| 丹阳市| 衢州市|