C++ プログラミングガイド

定義取り込み型の構成

定義取り込み型の構成は、すべてのインライン関数に使用できます。関数の本体を、プロトタイプの繰り返し (必要な場合) とともに入れてください。関数定義は、ソースファイル内に直接入れることも、ソースファイルとともに取り込むこともできます。


class Class {
    int method();
};
inline int Class::method() {
    return 3;
}

この構成は、インタフェースと実装が分離されます。このため関数がインラインで実装されなくなったときには、定義をヘッダーファイルからソースファイルに簡単に移動できます。欠点は、この構成ではクラスのプロトタイプが繰り返されることです。この繰り返しのため、ソースファイルの容量が増え、矛盾が発生しやすくなります。