コース一覧へ戻る
AI013 Professional

現代的なC++チュートリアル

このチュートリアルは、経験豊富な開発者に、C++11/14/17/20の新機能を迅速に確認できるようにすることを目的としています。言語の使いやすさの向上、実行時性能の改善、新しいコンテナ、スマートポインタとメモリ管理、正規表現、並列プログラミング、さらにC++20のプレビューについてもカバーしています。

4.8
30.0h
318 受講者
2 いいね
人工知能
学習を開始

コース概要

📚 コンテンツ概要

このチュートリアルは、経験豊富な開発者向けに、C++11/14/17/20の新機能を素早く参照できるように設計されています。内容は、言語の使いやすさの向上、実行時性能の改善、新しいコンテナやスマートポインタ・メモリ管理、正規表現、並列プログラミング、さらにはC++20の予習までカバーしています。

迅速にC++11/14/17/20に習熟し、現代的なC++プログラミングへの入り口を歩み出しましょう。

著者: 欧長坤 (Ou Changkun)

謝辞: CC BY-NC-ND 4.0 ライセンスに基づき、すべてのGitHub貢献者および関連コミュニティへの感謝を表します。

🎯 学習目標

  1. コマンドラインツールを使用して、C++コンパイラ環境とターゲットアーキテクチャを特定し確認する。
  2. C(C89、C99、C11)とC++(C++98、C++1x)の標準間の互換性と重複した歴史を説明する。
  3. extern "C"ヘッダーやマルチステージコンパイルワークフローを用いて、クロスランゲージリンクを実装する。
  4. nullptrを使用してポインタの曖昧さを解消し、constexprおよびif constexprでコンパイル時論理を実装する。
  5. autodecltype、型エイリアス(using)を活用して複雑な宣言を簡略化しながら、overrideおよびfinalにより堅牢なオブジェクト指向設計を確保する。
  6. 多変数テンプレート、折りたたみ式、非タイプテンプレート引数推論を用いて高度に汎用的なコードを設計する。
  7. 各種キャプチャモード(値、参照、式、汎用)を使用して、ラムダ式を定義・実装する。
  8. std::functionおよびstd::bindを活用して柔軟な関数ラッパーと部分関数適用を作成する。
  9. 式を左値(Lvalue)、一時的右値(Prvalue)、付加的右値(Xvalue)に分類し、移動セマンティクスを適用してクラスのリソース管理を最適化する。
  10. std::array(固定サイズ、スタック)とstd::vector(動的サイズ、ヒープ)のメモリモデルと使用シーンの違いを区別する。

レッスン