Manyotherquestions変数をヘッダーファイルで宣言し、.cppファイルで定義(割り当て)することによって変数を割り当てる方法を扱います。C++ヘッダーで静的変数を宣言して定義しますか?
私がしたいことは、自分のクラスには.cppファイルを使用せず、すべての関数をインライン(ヘッダファイル内)として定義することです。私が遭遇する問題は、.hファイルが複数のコンパイル単位に含まれていても、「最初にここで定義された」リンカーエラーを取得しないように静的メンバー変数を定義する方法です。
私は、プリプロセッサやハックなどにオープンしています。私はちょうど.cppファイルを避けたい。
私はGCCを使用しています。
変数を 'static'として宣言するだけです。変数の新しいインスタンスがヘッダーファイルをインクルードする各翻訳単位で作成されますが、リンク時にはオブジェクトに静的なリンケージがあるため、競合は発生しません。 –
静的データメンバーには外部リンケージがありません。 – jrok
"それを定義する(割り当てる)":**定義する**と**割り当てる**は2つの異なるものです。 –