【问题标题】:What are the 'ref' and 'sealed' keywords in C++?C++ 中的“ref”和“sealed”关键字是什么?
【发布时间】:2011-11-24 21:27:46
【问题描述】:

我刚刚看到一些(可能是)C++ 代码,其中包含两个我不知道的“关键字”(我假设关键字,但由于我没有上下文,它们可能很简单 #define 东西)。

它们似乎也没有出现在 C++11 标准中,至少是我的草案,但是,因为这是一个相当晚的草案,我无法想象它们在最后一刻才被纳入标准.他们是refsealed

我在其中找到它们的代码类似于:

public ref class DevIface sealed {
    private:
        int currOffset;
public:
        DevIface (int initOffset);
        : : :

有谁知道这些关键字是什么,以及它们的目的是什么?

【问题讨论】:

    标签: c++ ref sealed


    【解决方案1】:

    这是 C++/CLI。

    ref class 是托管类型。
    sealed 表示该类不能被继承

    【讨论】:

    • 这些关键字也用于 Windows 8 的原生 C++ WinRT API。
    • WinRT 中的 ref 类意味着它是一个可以跨 ABI(应用程序二进制接口)调用使用的 ref 计数类型。
    【解决方案2】:

    因此总结是“ref”和“sealed”不是标准的 C++ 关键字。它们用于微软版本。

    【讨论】:

      【解决方案3】:

      C++/CLI 中的sealed 大致相当于C++11 中的final

      【讨论】:

        【解决方案4】:

        如果您对新的 C++/CX 使用这些关键字将 WinRT API 投影到 MS Visual C++ 中感兴趣,您可能会喜欢这个视频:http://channel9.msdn.com/events/BUILD/BUILD2011/TOOL-532T 和这些幻灯片:http://video.ch9.ms/build/2011/slides/TOOL-532T_Sutter.pptx。见特别。幻灯片 8-13。幻灯片 29 中还引用了其他会谈的更多信息。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-01-05
          • 1970-01-01
          • 2010-09-28
          • 1970-01-01
          • 2012-05-01
          • 2010-12-02
          • 2010-10-28
          • 2010-12-31
          相关资源
          最近更新 更多