我對編程「更大」的應用程序很新穎。我現在用Visual C++ 2010編寫了幾千行代碼的命令行應用程序,它編譯並正常工作。大多數代碼是C兼容的(我認爲),但是,我發現在這裏和那裏使用一些C++構造很有用。例如,有時我使用new/delete而不是malloc/free來調用構造函數,或者使用std :: vector或std :: set來方便使用。我將所有的代碼放在了25個.h文件中,除了int main(),它現在是一個.cpp文件。C/C++應用程序的新手設計注意事項
我的具體問題是:
我猜我所有的代碼被編譯爲C++代碼。使代碼的某些部分真正符合C標準是否有意義?我可以讓Visual Studio將它編譯爲C嗎?對於程序的大部分來說,使它們符合C標準(例如,用malloc和初始化函數等替換new)對於某些部分更加困難(轉換std :: vector)會非常簡單。或者只有一切都是C纔有意義?有什麼好處?或者,將所有東西都轉換爲C++是否有意義?例如,使用new代替malloc和std :: string而不是char *。
我猜它並不打算在.h文件中包含所有代碼。我應該如何將我的代碼放入文件中?除了少數幾個,我沒有很大的班級。我的大部分代碼都是程序和函數。
我的兩個主要問題是效率和體面的編程標準。可移植性現在不是問題。
非常感謝!
聽起來你沒有理由使用'malloc'和'free',而不是熟悉。我建議你熟悉C++的做事方式。使用'new'和'delete',不要猶豫,使用'vectors'等。 – 2010-07-16 19:14:09
不要把所有的代碼放在H文件中。這在更大的應用程序中將無法正常工作。學會將聲明與定義分開。 – zvone 2010-07-16 19:28:37
你的指導是有幫助的。 @zvonimir:我的大部分代碼都是過程和函數......我應該爲函數聲明創建一個.h文件嗎? – 2010-07-16 19:37:24