C++實(shí)現(xiàn)raw_input的方法
本文實(shí)例講述了C++實(shí)現(xiàn)raw_input的方法,分享給大家供大家參考。具體方法分析如下:
用慣了Python,現(xiàn)在寫C++的代碼感覺有點(diǎn)不太順暢。今天就來實(shí)例演示一下C++實(shí)現(xiàn)raw_input的方法。
用過Python的朋友知道,Python中有個(gè)raw_input,可以如下使用:
print raw_input("Input a number : ")
一個(gè)函數(shù)內(nèi)既有輸入提示,又有返回值,用起來著實(shí)方便。可現(xià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ù):首先通過cout輸出提示內(nèi)容,比如“Input number :”之類的;接下來定義一個(gè)整型變量a,并通過cin獲得數(shù)據(jù)的值;最后返回整型數(shù)據(jù)??扇缦抡{(diào)用:
cout<<raw_input("Input number : ")<<endl;
功能是實(shí)現(xiàn)了,而且如果把類型改為string,和Python的就相同了。可我還是嫌這個(gè)不靈活:每個(gè)類型我都要寫一遍,感覺很不爽,我想要一個(gè)比Python那個(gè)用起來更靈活的函數(shù)。標(biāo)準(zhǔn)庫沒有,就自己寫吧。
這個(gè)要借助C++的模板來實(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;
這樣是不是就方便多了。
希望本文所述對大家的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語言強(qiáng)制類型轉(zhuǎn)換規(guī)則實(shí)例詳解
強(qiáng)制類型轉(zhuǎn)換是把變量從一種類型轉(zhuǎn)換為另一種數(shù)據(jù)類型,下面這篇文章主要給大家介紹了關(guān)于C語言強(qiáng)制類型轉(zhuǎn)換的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06C語言實(shí)現(xiàn)動(dòng)態(tài)順序表的實(shí)現(xiàn)代碼
這篇文章主要介紹了C語言實(shí)現(xiàn)動(dòng)態(tài)順序表的實(shí)現(xiàn)代碼的相關(guān)資料,動(dòng)態(tài)順序表在內(nèi)存中開辟一塊空間,可以隨我們數(shù)據(jù)數(shù)量的增多來擴(kuò)容,需要的朋友可以參考下2017-08-08淺談十進(jìn)制小數(shù)和二進(jìn)制小數(shù)之間的轉(zhuǎn)換
下面小編就為大家?guī)硪黄獪\談十進(jìn)制小數(shù)和二進(jìn)制小數(shù)之間的轉(zhuǎn)換。小編覺得挺不錯(cuò)的現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01C++?AnimeGAN實(shí)現(xiàn)照片一鍵動(dòng)漫化
AnimeGAN是是由神經(jīng)網(wǎng)絡(luò)風(fēng)格遷移加生成對抗網(wǎng)絡(luò)(GAN)而成,它是基于CartoonGAN的改進(jìn),并提出了一個(gè)更加輕量級(jí)的生成器架構(gòu)。本文將介紹如何運(yùn)用AnimeGAN實(shí)現(xiàn)照片一鍵動(dòng)漫化,需要的可以參考一下2021-11-11C++實(shí)現(xiàn)LeetCode(77.Combinations 組合項(xiàng))
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(Combinations 組合項(xiàng)),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07c++ STL容器總結(jié)之:vertor與list的應(yīng)用
本篇文章對c++中STL容器中的vertor與list的應(yīng)用進(jìn)行了詳細(xì)的分析解釋。需要的朋友參考下2013-05-05