関数指定子 inline は、関数のコードを、 呼び出し時点のコードに組み込むようにコンパイラーに提案するために使われます。 メモリーに関数命令の単一セットを作成する代わりに、コンパイラーは、inline 関数からコードを 直接呼び出し関数へコピーします。ただし、標準に準拠したコンパイラーは、最適化を推進するためにこの提案を 無視する場合があります。
このセクションでのここから先の説明は、C++ だけに適用されます。
通常関数とメンバー関数の両方を inline として宣言できます。関数がクラス宣言の外部で宣言された場合でも、メンバー関数を、キーワード inline を使用して inline にすることができます。
キーワード virtual および explicit は、関数指定子として、C++ の関数宣言でのみ 使用されます。
関数指定子 virtual は、非静的メンバー関数宣言でのみ使われます。
関数指定子 explicit は、クラス宣言内のコンストラクターの宣言にだけ使用されます。 これは、オブジェクトの初期化中に不要な暗黙の型変換を制御するために使用します。明示的なコンストラクターは、 直接初期化構文または明示的なキャストが使用されるオブジェクトしか構成できない点において、非明示的な コンストラクターとは異なります。
関連参照