C++備忘録
const
定数。後から変更されない
constと書いて代入すればその変数内の数値は変わらなくなる
アクセシビリティがprivateなら、その関数内で数値が変わらなくなる
データ構造の定義
struct
デフォルトでpublic
構造体
独自データの定義に使う
struct person{
int id;
int age;
char name[20];
};
person homu = { 0, 14, "homu" };
class
structと同じ
デフォルトでprivate
https://qiita.com/pink_bangbi/items/e25302df7f4ba7fa0db4
inline
inline hoge(doouble foo);
inlineはコンパイルするときに呼び出される関数の中身を呼び出したところに貼り付けてしまう処理を行う
こうすることで、呼び出した関数の定義場所まで飛んでいく必要がなくなるので、高速化できるという話らしい。
但し、その分冗長になるため、実行ファイルが肥大化するよう
だが、昨今のコンパイラではインライン展開を上手に行ってくれるらしいので、inlineは上記の目的ではなくインライン展開したいときの副次的な問題を解決するために、関数定義の重複を許容するものとして使われているみたい(詳しくはここ)
クラス内で関数の宣言と定義を記述しておくと、暗黙的なインライン展開がされ、宣言はクラス内、定義はクラス外に書くとインライン展開がされない。なので基本的に明示的にinlineを書くことはあまりないかも?