我發現了一些解釋爲什麼C++分離.cpp和.h文件的線程(例如here)。我有興趣知道它是否會導致任何問題,如果我不要將它們分開。我不想共享目標文件,那麼在一個小型項目中分離的好處是什麼?如果它只是減慢編譯時間,在我看來這不是什麼大問題。我想用C++重新實現一個Java程序,所以對於我來說,只將一個類保存在一個文件中似乎更容易。例如:如果只使用沒有單獨頭文件的cpp文件,有什麼缺點?
// Hello.cpp
#ifndef HELLO_20091218
#define HELLO_20091218
#include <iostream>
#include "Utils.cpp"
class Hello
{
public:
void start()
{
std::cout << Utils::nrand(100) << "\n";
// Utils and all other classes are written in a similar way
}
};
#endif
有一件事困擾着我。 「在類中定義一個成員函數會要求實現將調用擴展爲內聯。」因此,如果我喜歡這樣做,所有內容都會隱式標記爲內聯。它會導致更大的可執行文件或其他缺點?
非常相似:http://stackoverflow.com/questions/1686204/help-a-c-newbie-understand-his-mistakes-header-files-and-cpp-files第一個答案也回答你的問題。如果不是,請考慮編輯此問題。 – cbrulak
部分地回答我的問題:我遇到了一種情況,即分離是**必須**,即兩個類之間的循環依賴。更多信息在這裏:http://stackoverflow.com/questions/2089056/cyclic-dependency-between-header-files。 – Jabba
*相關:* [我怎樣才能避免包括類實現文件?](http://stackoverflow.com/q/2037880/54262) – 2010-10-31 07:38:35