エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
variantの実装(4) -static_visitor- - while( c++ );
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
variantの実装(4) -static_visitor- - while( c++ );
前回(variantの実装(3) -placement new- - while( c++ );)のつづき。 variantに任意のオブジェクトを... 前回(variantの実装(3) -placement new- - while( c++ );)のつづき。 variantに任意のオブジェクトを格納することが出来たので、今回はオブジェクトを取り出してみます。 variantに格納されているのオブジェクト(storage_)の型は、メンバwhich_で型に対応する番号として管理されています。 template< typename T1, typename T2, ..., typename TN > class variant { storage_type storage_; int which_; //T1 -> 1 //T2 -> 2 // ... //TN -> N }; ということは、前回のデストラクタのようにwhich_の値でキャストすればよさそうですね。 template< typename T1, typename T2,