ローカルな型とか無名型をテンプレート引数として使う
ローカルな型とか無名型をテンプレート引数として使える。
・・・オブジェクト生成時ってどうするんだろ? とりあえず動くもの。
- ローカルな型
#include <vector> #include <iostream> using namespace std; int main(){ struct data{ int a,b,c; } object = {1,2,3}; vector<data> v; v.push_back(object); cout << v[0].a; }
出力結果
1
- 無名型
#include <vector> #include <iostream> using namespace std; int main(){ // 無名な型のインスタンスを生成 struct{ int a,b,c; } object = {1,2,3}; // decltypeで型を取得してvector生成して突っ込む vector<decltype(object)> v; v.push_back(object); cout << v[0].a; }
出力結果
1