visual-c++ - 在 C++/CLI 中嵌套命名空间

标签 visual-c++ namespaces c++-cli nested managed-c++

我知道在 C++/CLI 中允许嵌套命名空间。所以我的问题是我们是否有这样的事情:

...
namespace one
{
    // blah blah blah
    // ...

    namespace two
    {
        // another set of blah blah blah
        // ...
    }
}

我需要在 中使用一些函数和变量命名空间二 ,我是否使用:
one::two

或者
one.two

另一个问题是,如果我有这样的声明
using namespace one;

我是否可以访问任何嵌套命名空间中的变量和函数,例如
namespace two

我问是因为,在我看过(和写过)的一些程序中,有类似的东西:
using namespace System;
using namespace System::Text;
using namespace System::IO;

不是系统命名空间应该覆盖 系统::文本 系统::IO 命名空间?

最佳答案

你需要使用

one::two::some_variable_or_function
.运算符用于访问非静态 struct/class成员。然后可以通过作用域解析运算符 :: 再次访问静态成员。 .

如果您只想使用 using System; ,您可以访问 System::Text函数/变量
Text::some_function_or_variable
using父命名空间并不意味着导入所有子命名空间。

关于visual-c++ - 在 C++/CLI 中嵌套命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6356922/

相关文章:

c++ - _ReadWriteBarrier 如何向上传播调用树?

c++ - Microsoft C++ 编译器有错误吗?

javascript - JS 命名空间和页面加载

.NET Framework - 每个应用程序的开销

c++ - 无法从 std::basic_string 转换为 int Visual Studio C++

.net - 如何在 .NET 中修剪数组?

visual-c++ - 可能使用了未初始化的局部变量?为什么?

c++ - temp2->next 包含什么?

javascript - 如何将命名空间变量传递给单击函数参数变量? jQuery

c# - 命名空间问题