ぷろみん

プログラミング的な内容を扱ってます

C++のオススメ学習順

まだまだ私も学習途中ですが、自分のtodoも兼ねてです。

基礎的な文法

多くの学習サイトで学べます。なので詳細は省略しますが 学習しなくても良いのでは?と思う物を列挙します。 選択基準としては、C++で推奨されていない、詰まりやすい物です。 結局はいずれ勉強する必要になるとは思います。

  • ポインタ, new, delete -> unique_ptr, shared_ptr
  • 固定配列 -> vector
  • char型文字列 -> string
  • 関数ポインタ -> function
  • defineマクロ -> const, constexpr, template関数

C++

ここからは大まかな概念をオススメ順に列挙します。

  • スコープ
  • オブジェクト思考, カプセル化
  • RAII
    • ここで学んでおくと指針が立ち易いと思います。
  • ファイル分割、コンパイラファイアウォール
  • ポリモーフィズム
  • NVI
    • こちらも。virtualにした関数の扱い方の指針になります。
  • 読みやすいコード、コーディング規約等
  • C++11の機能
    • 確認するだけで十分です。欲しい機能があるかもしれないし、用意してある物を作っている事が多いです。全部の把握は難しいですが、簡単にでも知ると見通しが良くなります。
  • Gof等のデザインパターン
  • 関数オブジェクト、ファンクター
  • template
  • ジェネリックプログラミング
  • 例外安全
  • テンプレートメタプログラミング
  • thread
    • 色んな要因がからんで難しいように思います。
  • 実行速度最適化
  • boost
    • どこへでも羽ばたけば良い。使うだけならもっと早くても良いと思います。

汎用的なイディオムをもっと知っていきたいです。