ユニヴァーサル参照とは
一般的な用語ではなく、Effective Modern C++の造語っぽい。 通常の右辺値参照T&&が、右辺値のみしかバインドできないのに対し、ユニヴァーサル参照は、どんなものもバインド可能。 ユニヴァー…
一般的な用語ではなく、Effective Modern C++の造語っぽい。 通常の右辺値参照T&&が、右辺値のみしかバインドできないのに対し、ユニヴァーサル参照は、どんなものもバインド可能。 ユニヴァー…
構文 ムーブコンストラクタとムーブ代入演算子オーバーロードはセットで定義することが推奨される。 実装例
理解が浅いので間違っている可能性がある。 前提として、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をつけるのが無難。 ただし、…
C++17ならstd::sizeで取得するのが手っ取り早い。 出力は4 https://cpprefjp.github.io/reference/iterator/size.html
C++17環境におけるTIPS 継承する予定のないクラスにはfinalをつける 相対パスは使わない const定数は可能な限りconstexprに変更 特にクラス内定数は、 static constexpr 型名 定数名…
https://qiita.com/_EnumHack/items/f462042ec99a31881a81 C++17以降のmapの使い方として参考になる。
https://qiita.com/leon-joel/items/81415c1ef355c6246280 よくまとまってる。
最近のコメント