【问题标题】:A question on vectors, pointers and iterators关于向量、指针和迭代器的问题
【发布时间】:2010-05-19 00:30:46
【问题描述】:

各位,我明天有期中考试,我正在看样卷,我不确定这个问题。任何帮助将不胜感激。

v 成为vector<Thingie*>,这样每个元素v[i] 都包含一个指向Thingie 的指针。如果pvector<Thingie*>::iterator,请回答以下问题:

  1. p是什么类型?
  2. *p是什么类型?
  3. 什么代码提供了实际Thingie的地址?
  4. 什么代码提供了实际的Thingie

【问题讨论】:

  • 哪个真正的东西?迭代器指向的那个还是位于v[i]的那个?

标签: c++ pointers vector


【解决方案1】:

p 是什么类型?

pvector<Thingie*>::iterator 类型,不管它是什么类型。

*p 是什么类型?

*pThingie*&;也就是说,它是对迭代器指向的向量中元素的引用。

什么代码提供了实际Thingie的地址?

*p,因为向量的元素是指向Thingies 的指针,而*p 给出了对向量中元素的引用。

什么代码提供了实际的Thingie

**p;也就是你解引用*p得到的指针,得到指针的所指对象。

【讨论】:

    【解决方案2】:

    pvector::iterator

    *p 是指向Thingie 的指针

    v[i]

    *v[i]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-23
      • 2014-10-13
      • 2014-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多