エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
optionalとshared_ptrで共通のnull - Faith and Brave - C++で遊ぼう
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
optionalとshared_ptrで共通のnull - Faith and Brave - C++で遊ぼう
std::optionalとstd::shared_ptrを両方使っていると、空状態を設定するためにあっちはstd::nullopt、こ... std::optionalとstd::shared_ptrを両方使っていると、空状態を設定するためにあっちはstd::nullopt、こっちはnullptrのように指定するので、使い分けがわずらわしいときがあります。 なにも考えず{}を指定してもよいのですが、「値初期化というのではなく空状態を指定することを示したい!」という欲求があるので、std::optionalとstd::shared_ptr両方の空状態に変換できるオブジェクトがあると便利かなと思ったりします。 #include <optional> #include <memory> struct unified_null { template <class T> operator std::shared_ptr<T>() const { return {}; } template <class T> operator std::o