C++中使用using声明后,能否调用其他命名空间的标识符?
C++命名空间使用疑问解答
场景一:使用using std::cout;的情况
当你在代码中声明using std::cout;后,只是将std命名空间下的cout引入当前作用域,允许你直接通过cout调用std::cout。但这并不会限制你调用其他命名空间的同名标识符——你依然可以通过cblue::cout的方式,明确调用cblue命名空间中定义的cout,两者互不影响。
场景二:使用using namespace std;的情况
using namespace std;是将整个std命名空间的所有标识符引入当前作用域,此时直接写cout会默认调用std::cout,但这同样不会阻止你调用其他命名空间的同名标识符。你仍然可以通过cblue::cout的限定语法,精准调用cblue命名空间中的cout。
内容的提问来源于stack exchange,提问作者Cblue X
相关产品推荐
相关产品推荐

