【问题标题】:In c++ what does Ptr<> a stands for?在 C++ 中,Ptr<> a 代表什么?
【发布时间】:2018-11-17 16:44:32
【问题描述】:

我实际上正在分析一些鳕鱼,我发现了这个

 Ptr<UniformRandomVariable> m_yMinVar;

我有一些 c 经验,但没有 c++,我的理解是该行声明了一个指针调用 m_yMinVar,它是“类型”&lt;UniformRandomVariable&gt;,其中“UniformRandomVariable”必须是其他 cpp 文件中的一个类,但我真的不知道,

我想确切地知道 Ptr 是什么,因为我的文本编辑器将它重新转换为变量类型

还有“”我不确定那是什么

最后,如果有人可以分享一个链接,我可以看到运算符和不同类型的声明变量和编码类型,例如“i++ = i+= i=i+1”

再见大家,谢谢大家

【问题讨论】:

标签: c++ pointers operators


【解决方案1】:

Ptr&lt;UniformRandomVariable&gt; 是类模板的实例化。类模板的实例是类。类是用户定义的类型。 Ptr&lt;UniformRandomVariable&gt; m_yMinVar; 整体上是一个Ptr&lt;UniformRandomVariable&gt; 类型变量的声明。

Ptr 是模板的名称。给定名称,假设它是指针周围的某种包装器是相当安全的。如果Ptr 的第一个模板参数是一个类型参数,那么UniformRandomVariable 是某个类型的名称。它可能是一个类,也可能是一个 typedef。如果Ptr 的第一个模板参数是非类型参数,那么UniformRandomVariable 是某个常量值。

Ptr 必须在同一个翻译单元中定义(在实例化之前)。 UniformRandomVariable 必须至少在实例化中使用它的同一翻译单元中声明,并且根据Ptr 模板的定义,可能还需要定义UniformRandomVariable

【讨论】:

    猜你喜欢
    • 2017-05-24
    • 1970-01-01
    • 2021-02-28
    • 2017-03-04
    • 2017-03-12
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多