ITedite

search
  • ホーム
  • サイトマップ
menu
  • ホーム
  • サイトマップ
キーワードで記事を検索
C++

ムーブコンストラクタとムーブ代入演算子オーバーロードの構文

2021.08.31 tappe

構文 ムーブコンストラクタとムーブ代入演算子オーバーロードはセットで定義することが推奨される。 実装例

C++

コピーコンストラクタとコピー代入演算子オーバーロードの構文

2021.08.31 tappe

構文 コピーコンストラクタは仮引数にconstと参照がついていることがポイント。 コピーコンストラクタとコピー代入演算子オーバーロードはセットで定義することが推奨される。 実装例

C++

std::vectorへのpush_back(T)、push_back(std::move(T))、emplace_back(T)、emplace_back(std::move(T))の違いについて考察

2021.08.30 tappe

理解が浅いので間違っている可能性がある。 前提として、std::vectorのpush_backとemplace_backの定義が重要となるので、下記に記載する。 (2)のxは右辺値参照。 テンプレート関数の仮引数なので…

C++

std::optionalの挙動について

2021.08.24 tappe

https://cpprefjp.github.io/reference/optional/optional.html 上記の例がわかりやすい。 std::optionalは、無効値が発生しうる関数の戻り値として、無効値…

C++

関数のvirtual、final付与について

2021.08.23 tappe

派生クラスをfinalにしたら、そもそも継承できないので、派生クラスの関数にvirtualとfinalはいらないと思う。 明示的にvirtual、finalを付与することもできるが、これを明示的にやる意味ある? あるとす…

C++

基底クラス作成時のコンストラクタとデストラクタの定義について

2021.08.23 tappe

コンストラクトとデストラクタは純粋仮想関数にはできない。 コンストラクタにvirtualは付与できない。 基底クラスを抽象クラスとするのであれば、デストラクタに、virtualとdefaultをつけるのが無難。 ただし、…

C++

C++のテンプレート(template)について

2021.08.17 tappe

https://qiita.com/hal1437/items/b6deb22a88c76eeaf90c 上記リンクみれば、ざっくりわかる。 ->decltype を使うパターンについて、わかってないので、わかった…

C++

ダブルポインタの扱い

2021.08.17 tappe

というコードを実行したら、「error: member reference base type ‘Hoge *’ is not a structure or union」と表示されて謎だったが、下…

C++

strncpy_sではなくmemmoveを使え

2021.08.11 tappe

strncpy_sはMicrosoftの拡張なので、memmoveを使った方が可搬性が良いとのことらしい。 細かいところはわかっていない。 memmoveとmemcpyの違いは、コピー元とコピー先の領域がかぶってもいいか…

C++

親クラスのデストラクタには必ずvirtualが必要な理由

2021.08.06 tappe

virtualをつけないと、親クラスのポインタに子クラスを格納しているケースにおいて、親クラスのポインタをdeleteしても親クラスのデストラクタしか呼ばれないため。 こういったミスを犯さないポイントとして、子クラスのデ…

  • <
  • 1
  • …
  • 3
  • 4
  • 5
  • 6
  • 7
  • …
  • 202
  • >

最近の投稿

  • UE5プロジェクトをGitHubでバージョン管理する手順
  • G-SYNC設定
  • std::vectorとstd::arrayの違い
  • 【TortoiseGit】ローカルにCloneしたリポジトリのURLを調べる方法
  • sizeof()とstd::size()の挙動の違い

人気の投稿

  • 【TortoiseGit】mergeのやり方 1.2k件のビュー
  • 【TortoiseGit】特定のリビジョンに戻す方法 379件のビュー
  • 【TortoiseGit】修正をなかったことにする方法(リセット) 361件のビュー
  • 【TortoiseGit】チェリーピックのやり方 285件のビュー
  • 【TortoiseGit】親ブランチの修正を子ブランチに反映する方法(リベース) 268件のビュー
  • 【TortoiseGit】ログメッセージの内容について 210件のビュー
  • 【TortoiseGit】修正の打ち消し(revert) 186件のビュー
  • 【TortoiseGit】複数のコミットをrebaseで一つにまとめる方法 149件のビュー
  • GitHub上でドラフトプルリクエストからプルリクエストに変更する方法 132件のビュー
  • CPU Load-Line Calibrationの挙動について検証してみた 114件のビュー

最近のコメント

  • i7-6700Kをi7-7700K相当にオーバークロックしてみた に La より
  • 特定パッケージのcheckstyle警告除外 に eclipse che 2018 | eclipseブログ より
  • Failed to install Hoge.apk on device ‘1000cc770082’: タイムアウト 対策 に yasushi より
  • Akumaの使い方 に 通りすがり より
  • Akumaの使い方 に tappe より

タグ

Apache BIOS C++11 C++14 C++17 CDT cppunit gcc gdb Git Git Bash GitHub GNOME grep jenkins libevent Maven Netty OC rpm rsyslog Samba scrum Seasar spider Tomcat TortoiseGit Unity VisualStudio Visual Studio 2019 VisualStudio2019 W-ZERO3 Windows Windows10 yum Z170 インストール オーバークロック ジェネリックス デザインパターン ネットワーク ライブラリ 正規表現 疑問 秀丸

カテゴリー

アーカイブ

  • プライバシーポリシー
  • お問い合わせ

©Copyright2025 ITedite.All Rights Reserved.