インラインメンバー関数を .cpp ファイルに実装できますか?

Susan Sarandon
リリース: 2024-10-31 18:36:29
オリジナル
598 人が閲覧しました

 Can Inline Member Functions Be Implemented in a .cpp File?

C のインライン メンバー関数 : 詳細

インライン メンバー関数はクラス定義で宣言されますが、クラス本体の外部で実装されます。通常、これらはヘッダー ファイル内に存在しますが、ヘッダー内に実装を配置することが不可能な状況も考えられます。

クラス A にクラス B のインスタンスが含まれ、クラス B がインライン メンバーを宣言するシナリオを考えてみましょう。 A のインスタンスを返す関数 getA()。循環インクルードのため、getA() の実装を B.cpp ファイルに移動する必要があります。

質問コンパイラは getA() をインライン化しますか? C FAQ によると、インライン関数の定義は、単一の .cpp ファイル内で排他的に使用される場合を除き、ヘッダー ファイル内に存在する必要があります。この場合、定義は B.cpp 内にあります。つまり、B.cpp 自体内での使用を除いて getA() はインライン化されません。

インライン キーワードの重要性に関しては、のみを使用することをお勧めします。ベスト プラクティスとしては、クラス本体の外側の関数定義にあるものです。

.cpp ファイルでインライン メンバー関数を定義するための代替アプローチを見つけることに関しては、残念ながら、私たちの知る限りでは知られていません。コンパイラーがインライン化を実行するには、定義がヘッダー ファイルに存在する必要があります。

以上がインラインメンバー関数を .cpp ファイルに実装できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!