「std::tie」の版間の差分

提供: C++入門
移動: 案内検索
(ページの作成:「std::tie とは、タプル(std::tuple)からアンッパックするために使われます。 '''読み方''' ;std::tie:えすてぃーでぃー たー...」)
 
 
行1: 行1:
[[std::tie]] とは、タプル([[std::tuple]])からアンッパックするために使われます。
+
[[std::tie]] とは、タプル([[std::tuple]])からアンパックするために使われます。
  
 
'''読み方'''
 
'''読み方'''
行6: 行6:
  
 
== 概要 ==
 
== 概要 ==
 +
[[std::tie]]は、タプル([[std::tuple]])のオブジェクトから要素をまとめて取り出すことができます。
 
;[[std::tuple]]:複数の型の値を保持する
 
;[[std::tuple]]:複数の型の値を保持する
 
;[[std::tie]]:要素をまとめて取り出す
 
;[[std::tie]]:要素をまとめて取り出す
 
;[[std::ignore]]:特定要素を無視する
 
;[[std::ignore]]:特定要素を無視する
 
+
== タプルとは ==
 +
'''タプル'''(tuple)とは、順序付けられた複数の要素で構成される組です。複数の異なる型のデータやオブジェクトが格納できます。
 
== ヘッダファイル ==
 
== ヘッダファイル ==
 
 
<syntaxhighlight lang="cpp">
 
<syntaxhighlight lang="cpp">
 
#include <tuple>
 
#include <tuple>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
== tie1.cpp の例 ==
 
== tie1.cpp の例 ==
 
=== ソースコード tie1.cpp ===
 
=== ソースコード tie1.cpp ===
# std::make_tupleでタプルを作成します。
+
# std::make_tuple でタプルを作成します。
 
# tieでタプル t から値を取り出します。
 
# tieでタプル t から値を取り出します。
  
行54: 行54:
 
== タプルを展開するときに要素をスキップする ==
 
== タプルを展開するときに要素をスキップする ==
 
[[std::tie]]でタプルを展開するときに、[[std::ignore]]を使用することで特定の要素をスキップできます。
 
[[std::tie]]でタプルを展開するときに、[[std::ignore]]を使用することで特定の要素をスキップできます。
 
 
== 関連項目 ==
 
== 関連項目 ==
 
* [[std::tuple]]
 
* [[std::tuple]]
行61: 行60:
 
* [[C++11]]
 
* [[C++11]]
 
* [[auto]]
 
* [[auto]]
<!-- vim: filetype=mediawiki -->
+
<!-- vim: filetype=mediawiki
 +
-->

2016年2月13日 (土) 00:01時点における最新版

std::tie とは、タプル(std::tuple)からアンパックするために使われます。

読み方

std::tie
えすてぃーでぃー たーい

概要

std::tieは、タプル(std::tuple)のオブジェクトから要素をまとめて取り出すことができます。

std::tuple
複数の型の値を保持する
std::tie
要素をまとめて取り出す
std::ignore
特定要素を無視する

タプルとは

タプル(tuple)とは、順序付けられた複数の要素で構成される組です。複数の異なる型のデータやオブジェクトが格納できます。

ヘッダファイル

#include <tuple>

tie1.cpp の例

ソースコード tie1.cpp

  1. std::make_tuple でタプルを作成します。
  2. tieでタプル t から値を取り出します。
#include <iostream>
#include <tuple>
#include <functional>
#include <string>
using namespace std;
int main(int argc, char const* argv[])
{
        auto    t = std::make_tuple(1, 'a', "foo");
        int     i;
        char    c;
        string  s;
        tie(i,c,s) = t;
        cout << i << endl;;
        cout << c << endl;;
        cout << s << endl;;
        return 0;
}

コンパイル

g++49 -std=c++11 -I/usr/local/lib/gcc49/include/c++/ \
-Wl,-rpath=/usr/local/lib/gcc49  tie1.cpp -o tie1

実行例

% ./tie1
1
a
foo

タプルを展開するときに要素をスキップする

std::tieでタプルを展開するときに、std::ignoreを使用することで特定の要素をスキップできます。

関連項目