[c,c++]static inline

static(C/C++) 使われ方によって意味が違います。 関数につける場合:他のファイルから参照できなくなります。 メンバ関数につける場合:ほぼ関数と同じ扱いになります。つまりthis等が使えないしstatic以外のメンバは呼べませんがスコープはそのままです。(C++) メンバ変数につける場合:すべてのインスタンス共有になります。(C++) 関数内の変数につける場合:ヒープに領域がとられ、毎回同じ部分が参照されます。 グローバル変数につける場合:他のファイルから参照できなくります。

inline(C++) インライン展開されます。 インライン展開とはマクロ関数に近いですが、関数やメンバ関数と同じように書けます。 一般的に インライン展開すると、関数呼び出しによるオーバーヘッドがなくなるので 実行速度ははやくなりますが、実行ファイルのサイズが増えます。 またinline指定しなくてもコンパイラの最適化の設定によっては 勝手にinline展開されます。

a

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク