7
A
回答
12
正如Chris所說,#define的範圍只是文件。 (值得注意的是,這與「班級」不一樣 - 如果您有部分類型,它可能由兩個文件組成,其中一個文件定義了符號,其中一個沒有!
您也可以定義一個符號項目範圍,但與project properties或compiler switch完成,而不是在源代碼中被指定。
3
從MSDN,其範圍是文件
1
雖然你能不能下去Mock對象的路線,阿拉Mock.Rhinos?
1
是克里斯提到,它的範圍是整個文件,你可以在使用已定義的關鍵字的任何地方文件
即;
#define something
... some code ...
在任何方法,類體或命名空間中,都可以使用它;
#if something
... some conditional code ...
#else
... otherwise ...
#endif
0
一個預處理指令的範圍時,它從源頭解析並一直持續到另有指示,否則啓動。如果您想限制預處理器指令的範圍,請使用它在完成時關閉的「undef」聲明。
#include <iostream>
using namespace std ;
int main()
{
#define someString "this is a string"
cout<<someString<<endl;
#undef someString // scope of someString ends here
cout<<someString<<endl; //this causes a compile error
return 0 ;
}
相關問題
- 1. C#預處理器指令
- 2. #define預處理器的範圍C
- 3. C++預處理指令
- 4. 預處理器指令conio.h C++
- 5. C預處理器指令和鏈接
- 6. objective-c預處理器指令
- 7. Gfortran預處理器指令
- 8. VB.NET預處理器指令
- 9. DDK預處理器指令
- 10. 預處理指令導入基於對C#中的預處理指令平臺
- 11. 多行C預處理指令的宏
- 12. 擴展一個C預處理指令
- 13. Objective-C的預處理指令發出
- 14. C++預處理指令限制
- 15. C預處理指令(SQR-的Funktion)
- 16. Lex規則的C預處理指令
- 17. 無證C++預處理指令(MSVC 2013u4)
- 18. 範圍的C++ using指令
- 19. 預處理器指令:#elif未定義?
- 20. 個人預處理器指令
- 21. 是否有預處理器「AND」指令
- 22. clBuildProgram的多個預處理器指令
- 23. 腳本#預處理器指令?
- 24. nuget庫中的預處理器指令
- 25. 預處理器指令和#error
- 26. xib中的預處理器指令?
- 27. 檢測iPad的預處理器指令
- 28. XTEXT:預處理器指令的規則
- 29. Unity預處理器指令錯誤?
- 30. 預處理指令「使用」