我已经搜索并搜索了这个问题的答案,但找不到我真正“得到”的任何东西。
我对 c++ 非常陌生,无法理解双指针、三指针等的使用。它们有什么意义?
谁能告诉我
最佳答案
老实说,在编写良好的 C++ 中,您应该很少在库代码之外看到 T**
。其实星星越多,离中奖越近an award of a certain nature .
这并不是说永远不需要指针指向指针。您可能需要构造一个指向指针的指针,原因与您需要构造指向任何其他类型对象的指针的原因相同。
特别是,我可能希望在数据结构或算法实现中看到这样的东西,当您在动态分配的节点周围进行混洗时,也许?
不过,一般来说,在这个上下文之外,如果你需要传递一个对指针的引用,你会这样做(即T*&
)而不是在指针上加倍,即使这样也应该是相当罕见的。
在 Stack Overflow 上,您会看到人们用指向动态分配的数据指针数组的指针做可怕的事情,试图实现他们能想到的效率最低的“二维 vector ”。请不要受到他们的启发。
总之,你的直觉并非没有值(value)。
关于c++ - 双指针有什么实际用途?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49015858/