役立ちそうなサイト・キーワード紹介

C++の便利な機能(STL)、役立ちそうなサイト、調べると良いキーワード・概念などを列挙してみた。
C++講座資料vol_EXシリーズは、講座中に出来なかったことをまとめたものなので、読んでみるといい。

cpprefjp

cpprefjp
https://sites.google.com/site/cpprefjp/
各種ヘッダーの解説がある。わからないことがあったらここで調べよう。
暇な時に読んで、役立ちそうなものがないか調べておくといい。

ロベールのC++教室

http://www7b.biglobe.ne.jp/~robe/cpphtml/
C++全般について解説。わかりやすい。わからないことがあったらここで調べてみよう。

std::map

キーと値を対応づけられる。とても便利。これはやったほうがいいと思う。
詳しくは上記cpprefjpとかを見るといい。
mapに比べ少し機能が制限されているが要素の検索速度が早い、unordered_mapもあるので調べてみよう。

名前空間

大規模なプロジェクトを作るときに必要。

ロベールのC++教室 - 第50章 異姓同名 -
http://www7b.biglobe.ne.jp/~robe/cpphtml/html02/cpp02050.html

演算子オーバーロード

自作のクラスに+とかを実装できる。
例:自作pointクラスでこういうことができる

point pt1, pt2, pt3;
pt3 = pt1 + pt2;

デフォルト引数

ロベールのC++教室 - 第65章 ナマケモノ -
http://www7b.biglobe.ne.jp/~robe/cpphtml/html01/cpp01065.html

テンプレート

テンプレートメタプログラミングはガチ闇だが、通常のテンプレートは使えたら便利。
講座資料vol_EX参照。

range-based-for

講座資料vol_EX参照。

ラムダ式

外部変数のキャプチャとか、講座でやったことに比べてもう少し色々できるので調べてみよう。

C++11メモ @ ラムダ式で無名関数やクロージャ
http://ramemiso.hateblo.jp/entry/2013/12/22/225039

functionalヘッダーとラムダ式

std::function : 通常の関数に加え、ラムダ式を受け渡しできる。
関数を変数に入れておける。(関数ポインタの汎用性高いバージョンみたいなやつ)
ボタンクラスを用意して、ボタン押されたら実行する関数をラムダ式でボタンのコンストラクタに渡す、などが出来る

randomヘッダー

乱数を生成できる。正規分布とかもできる。

std::weak_ptr

指している対象が消えていたらfalseを返す関数とかを持ってる。 シューティング作るときにホーミング弾とかの実装に便利。

tuple, pair

tupleとpairは複数のクラスの組をまとめて持てる。単純だが、地味に使うと思う。
詳しくはcpprefjp参照。

deque

deque(デック)はvectorの親戚みたいなやつ。
詳しくはcpprefjp参照。

VisualStudioの機能たち

VisualStudioには多彩なショートカットやデバック機能などがあるが、現状ではほとんど使ってないと思う。
機能を使いこなすことで開発時の効率を向上することができるので、一度目を通すことをオススメする。

初級者向けVisualStudio便利機能集Vol.1
http://qiita.com/hart_edsf/items/4d1561751a96d145301a

翻訳単位

インクルードなどの理解を深めたいならこの単語でググるといい。

デザインパターン

C++の機能ではなく、プログラムのうまい組み方、みたいなやつ。
シングルトンもこれの一種。

デザインパターン | TECHSCORE(テックスコア)
http://www.techscore.com/tech/DesignPattern/index.html
このサイトはJavaで書かれているが、とてもざっくりした説明なのでおすすめ。

boost

C++の神々が作っているライブラリ(便利なクラスとか関数がたくさんあるやつ)。
当たり判定や構文解析(ファイル読み込みに使える)があるので、ゲーム作りに役立ちそう。

テンプレートメタプログラミング

C++の深淵。コンパイル時実行とかつよそう。

役に立ちそうなサイト