C++實(shí)現(xiàn)raw_input的方法
本文實(shí)例講述了C++實(shí)現(xiàn)raw_input的方法,分享給大家供大家參考。具體方法分析如下:
用慣了Python,現(xiàn)在寫C++的代碼感覺有點(diǎn)不太順暢。今天就來(lái)實(shí)例演示一下C++實(shí)現(xiàn)raw_input的方法。
用過(guò)Python的朋友知道,Python中有個(gè)raw_input,可以如下使用:
print raw_input("Input a number : ")
一個(gè)函數(shù)內(nèi)既有輸入提示,又有返回值,用起來(lái)著實(shí)方便??涩F(xiàn)在的問(wèn)題是在C++中,我也想這么干,怎么辦?其實(shí),寫一個(gè)函數(shù)也可以輕松實(shí)現(xiàn)的,比如:
int raw_input(const char* tips)
{
cout<<tips;
int a;
cin>>a;
return a;
}
這個(gè)是實(shí)現(xiàn)整型數(shù)據(jù)輸入的函數(shù):首先通過(guò)cout輸出提示內(nèi)容,比如“Input number :”之類的;接下來(lái)定義一個(gè)整型變量a,并通過(guò)cin獲得數(shù)據(jù)的值;最后返回整型數(shù)據(jù)??扇缦抡{(diào)用:
cout<<raw_input("Input number : ")<<endl;
功能是實(shí)現(xiàn)了,而且如果把類型改為string,和Python的就相同了??晌疫€是嫌這個(gè)不靈活:每個(gè)類型我都要寫一遍,感覺很不爽,我想要一個(gè)比Python那個(gè)用起來(lái)更靈活的函數(shù)。標(biāo)準(zhǔn)庫(kù)沒有,就自己寫吧。
這個(gè)要借助C++的模板來(lái)實(shí)現(xiàn),示例如下:
template <class T1,class T2>
T1 raw_input2(T2 tips)
{
T1 a;
cout<<tips;
cin>>a;
return a;
}
這個(gè)和上面的原理一樣,這里就不解釋了。調(diào)用如下:
cout<<raw_input2<string,string>("Input string : ")<<endl;
這樣是不是就方便多了。
希望本文所述對(duì)大家的C++程序設(shè)計(jì)有所幫助。
- C++設(shè)計(jì)模式之命令模式
- C++在成員函數(shù)中使用STL的find_if函數(shù)實(shí)例
- C++實(shí)現(xiàn)string存取二進(jìn)制數(shù)據(jù)的方法
- C++常用字符串分割方法實(shí)例匯總
- 基于C++實(shí)現(xiàn)的線程休眠代碼
- C++交換指針實(shí)例
- C++構(gòu)造函數(shù)初始化順序詳解
- C++設(shè)計(jì)模式之外觀模式
- C++中的類型轉(zhuǎn)換static_cast、dynamic_cast、const_cast和reinterpret_cast總結(jié)
- C++設(shè)計(jì)模式之裝飾模式
- C++短路求值(邏輯與、邏輯或)實(shí)例
相關(guān)文章
C++制作鼠標(biāo)連點(diǎn)器實(shí)例代碼
大家好,本篇文章主要講的是C++制作鼠標(biāo)連點(diǎn)器實(shí)例代碼,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01
結(jié)合C++11的新特性來(lái)解析C++中的枚舉與聯(lián)合
這篇文章主要介紹了C++編程中的枚舉與聯(lián)合,結(jié)合了范圍(或強(qiáng)類型)enum class類型等C++11的新特性來(lái)講解,需要的朋友可以參考下2016-01-01
C語(yǔ)言模擬實(shí)現(xiàn)動(dòng)態(tài)通訊錄
本文主要介紹了C語(yǔ)言模擬實(shí)現(xiàn)動(dòng)態(tài)通訊錄,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
用代碼和UML圖化解設(shè)計(jì)模式之橋接模式的深入分析
本篇文章是對(duì)橋接模式進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
C語(yǔ)言結(jié)構(gòu)體中內(nèi)存對(duì)齊的問(wèn)題理解
內(nèi)存對(duì)齊”應(yīng)該是編譯器的“管轄范圍”。編譯器為程序中的每個(gè)“數(shù)據(jù)單元”安排在適當(dāng)?shù)奈恢蒙稀5荂語(yǔ)言的一個(gè)特點(diǎn)就是太靈活,太強(qiáng)大,它允許你干預(yù)“內(nèi)存對(duì)齊”。如果你想了解更加底層的秘密,“內(nèi)存對(duì)齊”對(duì)你就不應(yīng)該再模糊了2022-02-02
Visual Studio Code運(yùn)行C++代碼時(shí)顯示CLOCKS_PER_SEC未定義的問(wèn)題及解決方法
這篇文章主要介紹了解決Visual Studio Code運(yùn)行C++代碼時(shí)顯示CLOCKS_PER_SEC未定義的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04

