puddingプログラミングの記事がメインのブログです。大半の用途でスマポに置換えるべきだと最近思います。布教もかねて、C++ってアレだよね?レガシーなあれだよね?と思われている方もいると思いますが......誤解です。確かにC++03までだと古臭い言語という感じがしますが、C++11からそんなことなくなっています。Javaのほうがむしろ古臭くなってしまっています。簡単なサンプルコードで比較してみます。́・ω・)しかも他の言語からきた人は(*it)->fooとかなんだこのシンタックスと思うに違いない。C++11から同じコードを書く場合(生ポインタ)を使う場合、だいぶましに書けるようになりました。0;}だいぶすっきりしましたね。メンバ初期化リスト大活躍。cの部分なのですが、この推論はポインタまでやってくれるらしく*1、*は不要ですが、別に書いてもいいことになっているらしい。*cでも意味は同じみたいな。本題のスマポスマートポインタの中でも扱いやすいshared_ptrを使ってみます。0;}make_sharedはなんか注意点があるらしいですが、下記にまとまってる感じでした。cflat-inc.hatenablog.comshared_ptrとunique_ptrの使い分け理由がなければ基本的にunique_ptrを使いましょう。vectorの内部でポインタを保持したいときでstd::moveを使いたくない場合はshared_ptrで良いかもしれません。unique_ptrを使いましょうってことで。blog.ikappio.compostd.ccqiita.com*1:参照は明示しないとダメ。はてなブログPro睡眠プログラマーです。1引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。