C 新特性元組 tuple

2021-10-07 05:38:14 字數 821 閱讀 5287

python程式設計師一定對元組這個詞非常熟悉,python中的元組很強大,剛接觸python時我一直認為python中的元組是對c++陣列的封裝,吸收了c++的陣列的精華並進行了擴充套件。c++11以後直接增加了元組這個資料結構,或許是c++標準制定者看到了python中元組的方便,索性也直接吸收了吧。自從c++中增加了元組之後,每當乙個函式需要返回多個值時,我就會想到使用元組-tuple。

tuple是乙個固定大小的、可以儲存不同資料型別的集合,我們可以把它當做「匿名的」乙個結構體或者乙個類一樣使用,它卻又更加的簡潔、直觀、好用!

可以使用make_tuple()或者std::tie()方法來構建乙個元組(tie方法建立的是左值引用),可以使用std::get()來獲取元組的值,也可以使用std::tie()進行解包tuple(),通常使用std::get()獲取元組的值情況更多一點,至少我經常使用的場景是這樣子的。

// newc++.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。

//#include

#include

#include

#include

// 元組的初始化

std::tupleint,

double

>

initdata

(int type)

;break

;default

:return std::tupleint,

double

>()

;break;}

}int

main()

原創不易,點讚鼓勵一下吧!

C 4 0新特性之元組Tuple

組元使用泛型來簡化乙個類的定義。public class point public int y the user customer data type.point p new point use the predefine generic tuple type.tuplep2 new tuple 1...

C 筆記 tuple元組

tuple是類似pair的模板,可以包含任意數量的成員。tuplet t是乙個tuple,成員數為n,第i個成員的型別為ti。所有成員都會進行值初始化。tuplet v1,v2,vn t是乙個tuple,同時第i個成員型別為ti,使用vi進行初始化 make tuple v1,v2,vn 返回乙個由...

C 11新特性tuple多元陣列

tuple是c 11新的標準庫之一,其表示n元陣列,它相當於有n個成員的結構體,只不過這個結構體的成員都是匿名的。tuple是類似於pair的模板,tuple像是pair的泛化版本,pair只能存放兩個成員,而tuple則可以多個成員,相同的是,pair和tuple都允許其成員的型別不一樣。tupl...