2012-10-05 48 views
0

我是一名Java開發人員和C++初學者。在Java中,我可以使用(Ctrl + Shift + O)輕鬆導入對象。然而,在C++中,我必須每次都手動輸入#include,浪費我的時間。另外,我經常不知道需要的對象在哪裏。C++ #include語句

有沒有簡單的方法來自動導入或輸入「#包括」?如果沒有,是否有插件或插件來做到這一點?我正在使用Eclipse IDE for Blackberry 10以及C++ Cascades。

+3

這就是C++的工作原理。如果你認爲這是浪費時間,現在是回到java的時候了。 – DumbCoder

+0

花了我3秒鐘的時間輸入#include'file.h' –

+1

Ctrl + Shift + O非常方便,但同時我擔心它會在開發中產生一定的不穩定性,或者更偏向某種程度的漠視組件組成你的應用程序。 – jpm

回答

2

參見this bug report

似乎人們一直在討論這個問題已經有10年了,但還沒有實施。

我個人認爲,作爲一個C++程序員,你應該嘗試,以消除過度使用包括在文件中的,並使用向前聲明,而不是因此它不是一個功能,很多程序員都在尋找。如果您不希望對程序有太大的控制權,您可以始終使用javac#進行編碼。

+2

如果你使用庫代碼,你可以包含相關的頭文件。你不要轉發 - 宣佈其中的類或函數,因爲這是不明智的。 – nneonneo

+0

我使用的許多庫都有一個主包含文件,其中包含庫中的所有頭文件,無論如何都很容易添加。 – none

3

這就是C++的工作原理。 #include的功能與Java相比是原始的import:每個#include僅僅被包含文件的文本(等等,遞歸)所替代,就好像它被複制並粘貼在那裏一樣。

這有時具有優勢,它當然很簡單,但它的確意味着沒有可靠的方法提前知道特定包含文件所定義的內容。因此,如果您需要vector類型,例如vector;但如果您需要va_list類型,即在stdarg.h。一般來說,事情是相當一致的,但並非完全如此,反正也沒有什麼可以執行它。這可能是爲什麼大多數IDE不提供太多幫助。你只需要知道你正在使用的庫的規則是什麼(如果有的話)。

對C++的IDE支持通常不如Java或C#那樣好。這是一個例子(還有很多其他的)。如果您希望得到Java或C#級別的幫助,您很可能會感到失望。從好的一面來看,雖然整理#include列表很煩人,但在使用C++時遇到了很多其他困難,所以它很少會導致主要問題。