通知
すべてクリア
05/01/2023 2:21 pm
インスタンスの生成でクラスを使用する場合と
スマートポインタでクラスを使用する際の違いについての質問です。
BigOrSmall.h内で
std::unique_ptr<scene::Base> scene_;
とBaseクラスを使用する記述がありますが、
こちらはインスタンスを生成する形で記述することはできないのでしょうか。
→スマートポインターを使わず単純に
scene::Base scene_;
で宣言して使う形
05/01/2023 2:23 pm
単純に「インスタンスを生成する形」宣言して使っても基本的には大丈夫です。
C++はメモリー領域を直接触って参照したり、メモリーを解放するなどができるので、下手すればメモリー関連で致命的な不具合やエラーが発生するリスクがあります。
そのリスクを回避するためにC++に導入されたのが「スマートポインター」です。
・スマートポインター関連
https://qiita.com/hmito/items/9b35a2438a8b8ee4b5af
https://rinatz.github.io/cpp-book/ch06-05-smart-pointers/
最初からスマートポインターを使う習慣をつけた方がいいと思います。