我最近一直在用C++編寫,我對.cpp
vs .h
感到困惑 - 何時使用它們以及應該如何使用它們。我一直在閱讀,你應該把函數定義放在一個單獨的.cpp
文件中,並且頭文件應該用於聲明,但是如何使用單獨的.cpp
文件?我是#include
它還是什麼?我正在尋找關於.h
和.cpp
的說明,以及應該在何處以及如何包括單獨的.cpp
文件。.cpp vs .h和我應該在哪裏放置函數定義
-1
A
回答
0
您應該使用的.h用於函數原型和數據類型的文件聲明以及用於預處理器指令和用於定義的.cpp文件。例如,test.h
可能看起來像
#define CONSTANT 123 // pre-processor directive
void myfunction(char* str);
和你test.cpp
可能看起來像
#include <stdio.h>
#include "test.h"
int main(int argc char **argv)
{
myfunction("Hello World");
return 0;
}
void myfunction (char* str)
{
printf("%s and constant %d", str, CONSTANT);
return;
}
+2
你可能想提到'內聯函數(隱式和顯式)和'模板'。 – Deduplicator 2015-01-31 22:38:50
0
通常類聲明進入(.h)頭文件,實現進入.cpp文件。
您在cpp文件的頭文件,所以所有的功能將被認可,你應該記住使用的#ifndef頭文件,以避免錯誤(包括循環)
相關問題
- 1. 我應該在哪裏放置在phabricator
- 2. 我應該在哪裏放置在FBConnect
- 3. Gradle android:我應該在哪裏放置自定義任務?
- 4. 我應該在哪裏放置自定義的.d.ts文件?
- 5. 我應該在哪裏放置代碼?
- 6. 我應該在哪裏放置DLL?
- 7. 我應該在哪裏放置scriptmanager
- 8. 我應該在哪裏放置.htaccess?
- 9. 我應該在哪裏放置界面?
- 10. 我應該在哪裏放置ANNOTATE_ITERATION_TASK?
- 11. MEF:我應該在哪裏放置CompositionContainer?
- 12. 我應該在哪裏定義枚舉?
- 13. 應該在哪裏放置配置?
- 14. 我應該在哪裏定義我的NinjectModule和我的工廠?
- 15. 應該在哪裏放置「全局」Symfony函數?
- 16. JavaScript - 我應該在哪裏放置「var」以獲取特定值
- 17. 我應該在哪裏放置我的函數來包裝Doctrine查詢?
- 18. 我應該在哪裏將函數放入管道文件中?
- 19. 在Zend框架中,我應該在哪裏放置自定義驗證器?
- 20. Symfony 3.3 - 我應該在哪裏放置CSS和JS文件?
- 21. 我應該在哪裏放置AngularJS工廠和服務?
- 22. 我該在哪裏放置Open FIle Indicator?
- 23. 我在哪裏定義謂詞和函數對象?
- 24. 我應該在哪裏定義我的數據模板?
- 25. 我應該在哪裏放AutoLayout代碼?
- 26. 我應該在哪裏放膠水?
- 27. 我應該在哪裏放這個JavaScript?
- 28. gradle.jar應該放在哪裏?
- 29. ViewModels應該放在哪裏?
- 30. omniauth.rb應該放在哪裏?
你的意思正常功能或模板? – wimh 2015-01-31 21:58:57
另請參見[頭文件中的C++代碼](http://stackoverflow.com/questions/583255/c-code-in-header-files/)和[將代碼拆分爲頭文件/源文件](http:// stackoverflow.com/questions/2584856/splitting-code-into-headers-source-files)和[爲什麼在C++中有頭文件和'.cpp'文件](http://stackoverflow.com/questions/333889/why - 具備頭-文件和 - CPP-文件-在-C)。 – 2015-02-01 07:00:59