C++17 の variant ではポインタ型も使えるが不便過ぎ2020年05月07日 11時48分46秒

C++17 から導入された variant 型は union よりも発達した。

variant でポインター型を使えるか実験してみた。

#include <variant>

int main()
{   
    std::variant< int*, double* > number;
    number = new int( 3 );
    delete std::get< int* >( number );
    number = new double( 3.14 );
}
このまま問題なくコンパイル、実行できる。

ただ見ての通り、ポインタ型を保持したので自ら delete の処理が必要になる。これは面倒臭い。

前回次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2020/05/07/9243940/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。