C访问具有相同名称的变量/对象的命名空间中的全局变量/对象

前端之家收集整理的这篇文章主要介绍了C访问具有相同名称的变量/对象的命名空间中的全局变量/对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <iostream>
#include <string>
using namespace std;

string a;

namespace myNamespace
{
    string a;
    void output()
    {
        cout << a << endl;
    }
}

int main()
{
    a = "Namespaces,meh.";
    myNamespace::a = "Namespaces are great!";
    myNamespace::output();
}

结果是“命名空间很棒!”.那么有什么办法可以访问命名空间myNamespace中的全局字符串,而不仅仅是本地的吗?

解决方法

喜欢这个:
void output()
{
    cout << ::a << endl;  //using :: = the global namespace 
}

猜你在找的C&C++相关文章