ムーブコンストラクタとムーブ代入演算子オーバーロードの構文
構文 ムーブコンストラクタとムーブ代入演算子オーバーロードはセットで定義することが推奨される。 実装例
構文 ムーブコンストラクタとムーブ代入演算子オーバーロードはセットで定義することが推奨される。 実装例
構文 コピーコンストラクタは仮引数にconstと参照がついていることがポイント。 コピーコンストラクタとコピー代入演算子オーバーロードはセットで定義することが推奨される。 実装例
理解が浅いので間違っている可能性がある。 前提として、std::vectorのpush_backとemplace_backの定義が重要となるので、下記に記載する。 (2)のxは右辺値参照。 テンプレート関数の仮引数なので…
https://cpprefjp.github.io/reference/optional/optional.html 上記の例がわかりやすい。 std::optionalは、無効値が発生しうる関数の戻り値として、無効値…
派生クラスをfinalにしたら、そもそも継承できないので、派生クラスの関数にvirtualとfinalはいらないと思う。 明示的にvirtual、finalを付与することもできるが、これを明示的にやる意味ある? あるとす…
コンストラクトとデストラクタは純粋仮想関数にはできない。 コンストラクタにvirtualは付与できない。 基底クラスを抽象クラスとするのであれば、デストラクタに、virtualとdefaultをつけるのが無難。 ただし、…
https://qiita.com/hal1437/items/b6deb22a88c76eeaf90c 上記リンクみれば、ざっくりわかる。 ->decltype を使うパターンについて、わかってないので、わかった…
というコードを実行したら、「error: member reference base type ‘Hoge *’ is not a structure or union」と表示されて謎だったが、下…
strncpy_sはMicrosoftの拡張なので、memmoveを使った方が可搬性が良いとのことらしい。 細かいところはわかっていない。 memmoveとmemcpyの違いは、コピー元とコピー先の領域がかぶってもいいか…
virtualをつけないと、親クラスのポインタに子クラスを格納しているケースにおいて、親クラスのポインタをdeleteしても親クラスのデストラクタしか呼ばれないため。 こういったミスを犯さないポイントとして、子クラスのデ…
最近のコメント