ホームページ > バックエンド開発 > C++ > インライン関数がヘッダー ファイルに存在するように見えるのはなぜですか?

インライン関数がヘッダー ファイルに存在するように見えるのはなぜですか?

DDD
リリース: 2024-12-12 20:22:11
オリジナル
779 人が閲覧しました

Why Must Inline Functions Seemingly Reside in Header Files?

インライン関数の配置

質問: インライン関数をヘッダーで定義する必要があるように見えるのはなぜですかfile?

説明:

クラス関数のインライン定義は、ヘッダー ファイルに必ず存在する必要はありません。ただし、One Definition Rule (ODR) では、インライン関数を使用するすべての翻訳単位で同じ定義を持つことが義務付けられています。

ODR に準拠するには、ヘッダー ファイルに定義を含めることが最も簡単です。すべての翻訳単位で利用可能です。

関数定義を単一のソース ファイルに制限する必要がある場合は、インラインでの宣言を避けてください。これにより、コンパイラは必要に応じて関数をインライン化できます。

関数をインラインで宣言するかどうかは、主に ODR に準拠するかどうかによって決まります。キーワード制限を追加してインラインを強制するのは最適ではない可能性があります。

以上がインライン関数がヘッダー ファイルに存在するように見えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート