gpt4 book ai didi

C++ 使用命名空间语句

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:17:15 26 4
gpt4 key购买 nike

namespace MyNamespace
{
static void foo1()
{

}
}

using namespace MyNamespace;

class MyClass
{
void foo2()
{
::foo1();
}
};

范围解析操作:: 表示使用全局命名空间中的方法。这里我们可以使用::foo1()。这意味着方法 foo1() 在全局命名空间中,对吗?

我的问题是,使用命名空间 ANAMESPACE_NAME 是否意味着我们将命名空间 ANAMESPACE_NAME 中的所有元素导入全局命名空间?

最佳答案

没有。 “使用命名空间 ANAMESPACE_NAME”意味着我们将所有元素导入当前范围。

你可以这样写:

namespace A {
int i = 10, j = 20;
}

int f()
{
using namespace A; // injects names from A into the global scope.
return i * j; // uses i and j from namespace A.
}

int k = i * j; // Error: undefined variant i and j.

关于C++ 使用命名空间语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7701891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com