【问题标题】:What does 'System::String^' mean in C++? [duplicate]'System::String^' 在 C++ 中是什么意思? [复制]
【发布时间】:2011-05-07 08:09:19
【问题描述】:

可能重复:
What does the caret mean in C++/CLI?

System::String 是一个类。额外的插入符号是什么意思?

System::String^ productString = L"";

有人见过这个吗?我在 Stroustrop 中找不到关于这个的任何内容。

【问题讨论】:

  • 你找不到任何东西,因为这不是 C++ 代码。 en.wikipedia.org/wiki/C%2B%2B/CLI
  • 删除了 C++ 标签,因为这不是 C++。
  • 缺少 C++ 标签是我之前找不到其他匹配答案的原因。
  • 它不完全是重复的。这个问题询问在 C++ 中 的含义。当然答案是“什么都没有,而且你看到的实际上不是 C++”,但正如@Kieveli 指出的那样,如果你还不知道答案,那么你会问 this 问题,而不是“它在 C++/CLI 中是什么意思”
  • Nice =) 我以 0 票获得了热门问题徽章。那应该是一种新的徽章。

标签: .net visual-c++ c++-cli language-features


【解决方案1】:

这是微软的 C++/CLI^ 运算符用于访问 .NET 引用类型。它意味着某种“句柄”,语法是ClassName^ 而不是ClassName*

【讨论】:

    【解决方案2】:

    它不是真正的 C++,而是 C++/CLI(一种针对公共语言接口的 C++ 相似语言)

    【讨论】:

      【解决方案3】:

      'System::String^' 在 C++ 中是什么意思?

      没什么!因为它不是 C++,而是它的 C++/CLI。 productString^"" 的句柄

      【讨论】:

        【解决方案4】:

        此语法特定于C++/CLI,这是 Microsoft 的 C++ 托管版本。

        避免这种情况,除非您绝对必须拥有它以便与本机 C++ 代码互操作。如果您正在编写托管代码,请使用 C# - 本机代码、C++。

        【讨论】:

          【解决方案5】:

          它不是标准的 C++,它是 C++/CLI,其中 System::String^ 表示 System::String 的句柄。

          【讨论】:

          • System::String^ 并不意味着对 System::String 的引用。 referenceshandles 不同。
          猜你喜欢
          • 2011-07-03
          • 2013-07-13
          • 1970-01-01
          • 2019-09-12
          • 2013-12-23
          • 2015-06-25
          • 2019-12-08
          • 2013-02-12
          相关资源
          最近更新 更多