国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C++ std::tie函數(shù)詳解

2023-05-17 15:53 作者:艱默  | 我要投稿


函數(shù)原型

C++中std::tie函數(shù)的作用就是從元素引用中生成一個tuple元組,其在頭文件<tuple>中定義,其函數(shù)原型如下:

template<?class...?Types?>
std::tuple<Types&...>?tie(?Types&...?args?)?noexcept
;?//C++11起,?C++14前

template<?class...?Types?>
constexpr?std::tuple<Types&...>?tie(?Types&...?args?)?noexcept
;//C++14起

其中參數(shù) args 為構(gòu)造 tuple 所用的零或更多左值參數(shù)。其返回值為含左值引用的std::tuple對象。

作用和用法

1. 解包 tuple 和 pair

std::tie 可以用于解包 tuple 和 pair,因為 std::tuple 擁有從 pair 的轉(zhuǎn)換賦值。

注:元組tuple可以將不同類型的元素存放在一起,可以理解為pair的擴展(pair只能包含兩個元素,而tuple可以多個)。

std::tuple擁有從 pair 的轉(zhuǎn)換賦值的主要原因就是:tuple的實現(xiàn)中重載了 operator=,其部分原型如下:


因此,std::tie可以用于pair的解包:


:std::ignore 是令 std::tie 在解包 std::tuple 時作為不使用的參數(shù)的占位符使用,即忽略某些 tuple 中的某些返回值。

2. 批量賦值

std::tie 可以將多個變量的引用整合成一個 tuple,進而通過另外一個同類型的 tuple 進行批量賦值。


3. 比較結(jié)構(gòu)體

可以將結(jié)構(gòu)體成員傳入std::tie,從而實現(xiàn)結(jié)構(gòu)體的比較。



具體示例


輸出結(jié)果:


文章首發(fā)公眾號:iDoitnow如果喜歡話,可以關(guān)注一下

如果喜歡話,可以關(guān)注一下


C++ std::tie函數(shù)詳解的評論 (共 條)

分享到微博請遵守國家法律
舞钢市| 浮山县| 闽清县| 泌阳县| 朝阳县| 安福县| 积石山| 枣庄市| 清水河县| 洪洞县| 长泰县| 三门峡市| 精河县| 西乡县| 阳山县| 高密市| 安徽省| 海林市| 伊通| 锦屏县| 田阳县| 郓城县| 珲春市| 汉沽区| 庆阳市| 保定市| 隆子县| 万年县| 新巴尔虎右旗| 安康市| 大余县| 侯马市| 民乐县| 青田县| 梓潼县| 古田县| 南靖县| 临沭县| 吉安市| 平塘县| 正阳县|