'using'和'using namespace'的区别
Difference between 'using' and 'using namespace'
在boost库中,经常有这样的例子:
#pragma once
#include <boost/property_tree/ptree.hpp>
using boost::property_tree::ptree;
在整个程序中,我一直像这样导入命名空间:
#include "../MyClass.h"
using namespace MyClassNamespace;
谁能解释一下:
-
using
与using namespace
的差异; - 用
using
代替using namespace
有什么好处; - 前向申报
using
和using namespace
的差异;
谢谢
using namespace
使名称空间的所有名称可见,而不是在名称空间的特定对象上声明using
,仅使该对象可见。
#include <iostream>
void print(){
using std::cout;
using std::endl;
cout<<"test1"<<endl;
}
int main(){
using namespace std;
cout<<"hello"<<endl;
print();
return 0;
}
- 当使用"using namespace std"时,std作用域中的所有元素都在函数作用域中可用。
- 当使用"using std::cout"时,我们明确地指出了函数需要std下的哪个元素,而不需要导入std下的所有元素。
这是我在堆栈溢出的第一个答案,请纠正我,如果我错了!!
相关文章:
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- C++ - "!pointer"和"pointer == nullptr"的区别?
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- std::atomic和std::condition_variable wait,notify_*方法之间的区别
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 在 const 函数中通过引用和指针返回之间的区别
- 我想知道长双倍和双倍之间的区别
- "using namespace std;"在C++的作用是什么?
- 返回常量对象引用 (getter) 和仅返回字符串有什么区别?
- C++中"typedef"、"using"、"namespace"和"using namespace"有什么区别?
- C++ "using tcp=x"到"namespace tcp=x"有什么区别
- 附加包含目录和其他 #using 目录有什么区别?
- 类型的using和using=之间的区别
- 'using'和'using namespace'的区别
- "using"命名空间和声明命名空间有什么区别?
- typedef和using之间有什么区别?
- "using namespace std"和"namespace std"的区别?