2

C と C++ 以外のほとんどすべての言語では、ヘッダーが実装から分離されていません。関数/メソッドの実装をヘッダー ファイルに配置して、2 つを分離する必要がないようにすることは、依然として悪い習慣と見なされますか?

例:

// File: myUtilLib.hpp

void myFunc1() {
  doSomething...
}

void myFunc2() {
  doSomething else...
}

代わりに、すべての宣言を別の.cppファイルにコピー/貼り付けする必要がありますか?

4

3 に答える 3

1

ヘッダーに実装を配置することは悪い習慣であるだけでなく、ほとんどの場合うまくいきません。

(すべての関数が として定義されている場合を除きますinlineが、それは珍しいケースです。)

複数の.cppファイルにヘッダーの がある場合、と#includeの定義が複数あるため、リンク時にエラーが発生します。myFunc1myFunc2

于 2013-07-23T01:29:32.253 に答える