2020-01-01から1ヶ月間の記事一覧

[C++]std::make_tuple、std::tie、std::forward_as_tupleの違い。

C++

いずれも引数を纏めてstd::tupleを作成するという意味では共通している。ただしこれら3つの振る舞いはいずれも異なっていて、状況に応じて適切に使い分ける必要がある。簡潔に言えば、std::make_tupleは引数のコピーを作り、std::tieは引数の左辺値参照を作…

[C++]natvisファイルで多次元の動的配列を表示する。

Visual Studioでデバッグしている時、例えばSTLなどの中身を綺麗に整頓された状態で監視することが出来る。これを自作クラスに対しても行うことは出来るのだろうか?私は標準ライブラリでは設計上の問題が生じる場合によく自作の機能を設計して使うのだが、…

[C++]std::anyとは異なる、動的メモリ確保を行わない動的型を作る。

C++

更新情報 2021年3月18日 色々と設計に問題があったので全面的に作り直した。 動機 std::anyはどのような型のインスタンスでも格納でき、かつデストラクタを呼ぶ必要のない便利な機能だ。ただしインスタンスを格納するメモリは動的に確保される場合があり、し…