【问题标题】:returning reference of generic class返回泛型类的引用
【发布时间】:2013-06-15 22:01:54
【问题描述】:

我有这个通用类:

template<class T>
class wwe{
public:
   T data;
   friend class Iterator;
   explicit wwe(T& data) : data(data){}
   //1- wwe<T>& getwwe();
   //2- wwe& getwwe();
}

Q1:我应该使用哪一个 .. 1-2 ?
Q2:data(data) 是做什么的?
Q3:如果我没有在 wwe 类中定义整个 'Iterator' 类,我应该如何定义它.. 如果可能的话?
谢谢

【问题讨论】:

  • Q1:使用 (2)。它等价于 (1),但不允许您错误地键入错误的模板参数。其他两个问题不够清楚,我无法回答。
  • 你能告诉我我怎么会错误地输入错误的模板参数吗?
  • @Rawhi, wwe&lt;int&gt;&amp; getwwe(); 说真的,如果您添加另一个稍后默认的模板参数,您必须返回并更改它,否则您将始终使用默认值。
  • 为什么要在一个只包含 1 个元素的类中包含一个迭代器类?
  • data(data) 正在为T data 变量调用构造函数

标签: c++ class templates constructor


【解决方案1】:

Q1 - 没关系。

Q2 - 像构造函数一样正常工作。没什么特别的。

Q3 - 我没有看到迭代器或函数返回 1 或使用 1 的证据。对这个问题感到困惑。

【讨论】:

    猜你喜欢
    • 2010-10-01
    • 2021-10-08
    • 2019-07-02
    • 1970-01-01
    • 2014-02-11
    • 2014-08-25
    • 1970-01-01
    • 2016-12-24
    相关资源
    最近更新 更多