指向指针的指针

RoR*_*RoR 4 c++ pointers

可能重复:
用于多级指针解引用?

我正在阅读另一篇文章,这让我想到了这个问题.这会是什么意思?还有人用一个指向指向指针的指针的指针有多深......我理解Pointer to Pointer但是为什么你会在那之后更多地去?你有多深入使用****?

Foo(SomePtr***你好);

Sam*_*fel 10

你可以将int的三维数组称为 int *** intArray;


Cas*_*Cow 8

它在C++中很少见.

在C中它可能会显示在哪里:

  • 你使用结构的"对象",你总是传递它们或在堆上创建它们作为指针.
  • 你有这样的指针集合作为动态分配的数组,因此T**其中T是类型.
  • 你想得到一个数组,所以你传入一个T***,它用T**(T*指针数组)填充你的指针.

这将是有效的C但在C++中:

  • 第一步是一样的.您仍然在堆上分配对象并指向它们.
  • 第二部分会因为使用向量而不是数组而有所不同.
  • 第3部分会因为使用引用而不是指针而有所不同.因此,您将通过传入vector<T*>&(或vector<shared_ptr<T> >&不是T***)获得向量