「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:: | + | # 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
- std::make_tuple でタプルを作成します。
- 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を使用することで特定の要素をスキップできます。
関連項目
- std::tuple
- std::tie
- std::ignore
- C++11
- auto