国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C++函數(shù)如何具有多個返回值?

這篇具有很好參考價值的文章主要介紹了C++函數(shù)如何具有多個返回值?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??本文介紹在C++語言中,使用一個函數(shù),并返回兩個及以上、同類型或不同類型的返回值的具體方法。

??對于C++語言而言,其不能像Python等語言一樣在一個函數(shù)中返回多個返回值;但是我們也會經(jīng)常遇到需要返回兩個甚至更多個值的需求。針對這種情況,我們可以通過pair、tuple(元組)等數(shù)據(jù)結(jié)構(gòu),實現(xiàn)C++函數(shù)返回兩個或多個返回值的需求。本文就以pair為例,介紹二者的具體用法。

??首先,我們需要將C++函數(shù)的類型定義為pair<>,其中<>內(nèi)為兩個返回值各自的數(shù)據(jù)類型。例如,如以下代碼所示,我們定義了一個函數(shù)raster_to_series,函數(shù)類型為pair<double**, double*>,表示這一函數(shù)的返回值有兩個,且兩個返回值的數(shù)據(jù)類型分別為double**double*

pair<double**, double*> raster_to_series(double** pafScanline)
{
// 這里是函數(shù)的代碼部分
// ...
	return make_pair(pixel_paf, miss_rate_paf);
}

??其中,在函數(shù)的返回值部分,我們需要基于make_pair()函數(shù),將數(shù)據(jù)類型分別為double**double*的兩個變量放在一起,形成pair這一結(jié)構(gòu),再進(jìn)行返回。

??其次,以上pair、make_pair()等都是定義在std這一命名空間內(nèi)的,因此需要首先聲明一下這一命名空間;再次,在調(diào)用這一函數(shù)前,我們首先需要定義一個pair <double**, double*>類型的變量,并將函數(shù)的返回值賦給它。

using namespace std;

int main() {
	pair <double**, double*> pair_paf = raster_to_series(pafScanline);
	double** pixel_paf = pair_paf.first;
	double* miss_rate_paf = pair_paf.second;
	return 0;
}

??隨后,通過.first.second命令,分別獲取pair<double**, double*>中的兩個變量。

??至此,我們即實現(xiàn)了通過一個C++函數(shù)返回兩個返回值的方法。

??如果需要返回三個或更多的返回值,則可以基于tuple(元組)這一數(shù)據(jù)結(jié)構(gòu),用類似于上述操作的方法來實現(xiàn)。舉一個例子,假如我們想通過一個函數(shù)返回三個返回值,就需要將前述代碼中函數(shù)的類型定義為tuple<int, double, int>,將make_pair()函數(shù)更改為make_tuple(),且在調(diào)用函數(shù)時首先將返回值賦給一個tuple<int, double, int>類型的數(shù)據(jù),再依次從這一元組類型的數(shù)據(jù)中提取出三個返回值的具體數(shù)值。

??至此,大功告成。文章來源地址http://www.zghlxwxcb.cn/news/detail-710934.html

到了這里,關(guān)于C++函數(shù)如何具有多個返回值?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 如何理解Go言中的Context?

    如何理解Go言中的Context?

    目前看過除了《go語言程序設(shè)計》以外最好的教程:https://www.practical-go-lessons.com 原文:https://www.practical-go-lessons.com/chap-37-context 你將在本章中學(xué)到什么? 1.什么是上下文? 2.什么是鏈表? 3.如何使用上下文包? 涵蓋的技術(shù)概念 Context derivation Linked list Context key-value pair Cancella

    2024年02月08日
    瀏覽(24)
  • C++ 返回函數(shù)指針的函數(shù)

    C++ 返回函數(shù)指針的函數(shù)

    目錄 0 前言 1 Function Pointer in C/C++ type 1.1 ordinary function Pointer 1.2 non-static member function of class 1.3 Lambda To Function Pointer 1.4 總結(jié)什么是指針 2 Returning a function pointer from a function in C/C++ 3. C - Variable Arguments (Variable length arguments) 4. Variadic Template 5 Variadic Template with member function pointer 6 最終

    2024年02月05日
    瀏覽(18)
  • c++函數(shù)參數(shù)和返回值

    c++函數(shù)參數(shù)和返回值 函數(shù)存儲位置 函數(shù)參數(shù)入棧順序 初始化列表 函數(shù)的返回值 用參數(shù)引用來返回 返回一個參數(shù)指針 返回一個對象 總結(jié) 函數(shù)的幾種變體 inline 函數(shù) 函數(shù)對象 lambda 函數(shù) c++一直以來是一個關(guān)注效率的代碼,這樣關(guān)于函數(shù)的參數(shù)傳遞和返回值的接收,是重中之

    2024年02月05日
    瀏覽(22)
  • 【Python入門篇】——Python函數(shù)(函數(shù)介紹,函數(shù)的定義,函數(shù)的參數(shù)和函數(shù)的返回值)

    【Python入門篇】——Python函數(shù)(函數(shù)介紹,函數(shù)的定義,函數(shù)的參數(shù)和函數(shù)的返回值)

    作者簡介: 辭七七,目前大一,正在學(xué)習(xí)C/C++,Java,Python等 作者主頁: 七七的個人主頁 文章收錄專欄: Python入門,本專欄主要內(nèi)容為Python的基礎(chǔ)語法,Python中的選擇循環(huán)語句,Python函數(shù),Python的數(shù)據(jù)容器等。 歡迎大家點贊 ?? 收藏 ? 加關(guān)注哦!???? 函數(shù):是組織好的

    2024年02月08日
    瀏覽(25)
  • 小議C++函數(shù)簽名與模板返回類型

    小議C++函數(shù)簽名與模板返回類型

    題記:什么事情都要追問一個為什么,真正理解了為什么,才能活學(xué)活用。 下面的代碼能編譯通過嗎? 答案肯定是編譯不過。因為下面兩個函數(shù)的“簽名”是一樣的: 在 C++ 語言中,函數(shù)簽名包含函數(shù)名稱、函數(shù)參數(shù)類型、函數(shù)參數(shù)個數(shù)等信息,但是不包含返回值類型。 下

    2024年02月08日
    瀏覽(23)
  • C++中幾種處理函數(shù)返回值的方式

    函數(shù)可以返回一個具體的值,例如整數(shù)、浮點數(shù)、結(jié)構(gòu)體、類對象等。返回值被復(fù)制到函數(shù)調(diào)用點,在調(diào)用點可以直接使用或賦給其他變量。 函數(shù)可以返回一個引用,引用是對某個變量的別名。通過引用返回可以避免復(fù)制大型對象的開銷,并允許修改原始對象。需要注意的是

    2024年02月10日
    瀏覽(23)
  • C語言如何傳遞參數(shù)到函數(shù),并從函數(shù)中返回值?

    假設(shè)我們現(xiàn)在要寫一個函數(shù),名字叫做\\\"吃飯\\\"。這個函數(shù)的功能是傳入?yún)?shù)\\\"食物\\\",然后從函數(shù)中返回一個值\\\"滿足程度\\\"。我們來看看如何實現(xiàn)吧! 我們需要寫一個函數(shù)原型,聲明這個函數(shù)的存在和參數(shù)的類型。嗯,函數(shù)原型就像餐廳的菜單,告訴顧客有哪些選擇和怎么點菜。

    2024年02月12日
    瀏覽(20)
  • 《C++ Primer》練習(xí)6.36-6.38:書寫返回數(shù)組引用的函數(shù)聲明

    《C++ Primer》練習(xí)6.36-6.38:書寫返回數(shù)組引用的函數(shù)聲明

    最近看C++ Primer,看到6.3.3練習(xí),要求書寫返回數(shù)組引用的函數(shù)聲明,覺得有必要實踐記錄一下。 這里先總結(jié)返回數(shù)組的引用的的函數(shù)聲明寫法(下面的 Type是 數(shù)組元素的類型,可以是int、float等,如果要返回指向數(shù)組的指針亦同,將下面的 改成 * 即可) 寫法1 函數(shù)聲明 為:

    2024年02月07日
    瀏覽(20)
  • 在 Python 中拆分具有多個分隔符的字符串

    在 Python 中拆分具有多個分隔符的字符串

    要使用多個定界符拆分字符串: 使用 re.split() 方法,例如 re.split(r\\\',|-\\\', my_str) 。 re.split() 方法將拆分所有出現(xiàn)的分隔符之一的字符串。 re.split 方法接受一個模式和一個字符串,并在每次出現(xiàn)該模式時拆分字符串。 管道 | 字符是一個或。 匹配 A 或 B。 該示例使用 2 個分隔符(

    2024年02月15日
    瀏覽(23)
  • 使用pyinstaller將具有多個python文件的項目打包為exe(含依賴庫)

    使用pyinstaller將具有多個python文件的項目打包為exe(含依賴庫)

    1、將需要打包有python文件放到一個文件夾,例如下圖所示的Demo文件夾,其中ClickEveryDay.py為主文件,telegram.ico為圖標(biāo)文件。 ??2、生成主函數(shù)對應(yīng)的spec文件 命令:在Demo文件夾路徑下使用:pyi-makespec ClickEveryDay.py,將產(chǎn)生一個ClickEveryDay.spec文件。 3、修改ClickEveryDay.spec文件:加

    2024年02月11日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包