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...