13
A
回答
33
命名空間用於防止名稱衝突。
例如:
namespace foo {
class bar {
//define it
};
}
namespace baz {
class bar {
// define it
};
}
您現在有兩個班的名字吧,這是完全不同的和獨立的感謝命名空間。
顯示的「使用名稱空間」使您無需指定名稱空間即可使用該名稱空間內的類。即std :: string成爲字符串。
2
它用於防止名稱混淆,因此您可能有兩個在不同名稱空間中具有相同名稱的類。
此外,它用於分類你的類,如果你看到.net框架,你會看到命名空間用於分類的類。例如,您可以爲員工類定義名稱空間,爲任務類定義名稱空間,並且這兩個名稱空間都位於公司類的名稱空間內,因爲名稱空間可能包含子名稱空間。
相同的命名空間可能存在於不同的文件中,因此using
它可能會很有用,因爲它可以讓您能夠直接使用每個#include
d文件中的命名空間中的所有類。
這就是我現在所記得的。
1
有人可能會問,簡單的大括號花括號{}
足以解決名稱衝突。仍然爲什麼有一個NameSpace。 Tamer上面提到的一個快速答案是,通過NameSpace,我們可以在另一個文件中打開相同的作用域。
相關問題
- 1. 什麼是aerospike中的命名空間
- 2. 命名空間是什麼?用法呢?
- 3. 在C++中,什麼是「命名空間別名」?
- 4. IMvcServiceLocator的命名空間是什麼?
- 5. testng.xml的命名空間是什麼?
- 6. DispatcherTimer類的命名空間是什麼?
- 7. 什麼是CreateIfNotExists的命名空間?
- 8. NUnit CollectionAssert的命名空間是什麼?
- 9. C#命名空間的正確用法是什麼?
- 10. Shell命名空間擴展。 C#。 C++,MFC,AT-使用什麼?
- 11. C++命名空間....匿名命名空間是合法的?
- 12. 什麼是groovyx命名空間?
- 13. 什麼是OpenCV HighGUI命名空間?
- 14. 什麼是DomDocument命名空間?
- 15. 什麼是MapRoute命名空間參數?
- 16. 什麼是ksoap命名空間?
- 17. 什麼是命名空間,XPath軸
- 18. 什麼是「kube-system」命名空間?
- 19. 什麼是VJSharp命名空間?
- 20. 是「使用命名空間」是指加載該命名空間
- 21. 爲什麼在C++語言中使用命名空間標準是必須的?
- 22. 「使用命名空間」的目的是什麼?
- 23. C++中的名稱空間別名的作用域是什麼?
- 24. 在命名空間之後實際使用的uri是什麼?
- 25. XAML命名空間的最佳命名約定是什麼?
- 26. 利用C#中的內置命名空間使用內置命名空間
- 27. 什麼在C 「使用命名空間:: X」 ++
- 28. C++中的命名空間
- 29. C++中的命名空間
- 30. C#中的命名空間#
可能的重複[目的是什麼:「using namespace」?](http://stackoverflow.com/questions/4359706/whats-the-purpose-of-using-namespace) – 2011-03-17 01:05:09
對於一般情況下'使用名稱空間XXX;',請參閱下面的答案。對於'using namespace std;'的具體情況,我建議你永遠不要這樣做。導入整個'std'命名空間可能會導致太多問題。 http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.5 – 2011-03-17 01:38:04