我需要修改一个由另一个程序员编写的非常长的程序。通过他的代码,您可以看到指向 C++ 对象的双指针。我不明白为什么在这种情况下使用双指针,我认为单指针会做同样的事情。一个例子可以更清楚地说明:
class A {
...
public:
static B** b; //why double pointers here?
...
}
Class B {
...
public:
B(...)
func1();
func2();
}
我们需要有许多来自B
类的对象,比如说 5 个对象(不是2D 对象数组)。一旦我们创建b
,代码就不会篡改 *b。仅调用 B 的函数b[i]->func1()
。所以,既然我们不改变指针,我想我们可以通过定义static B* b;
. 我忽略了什么吗?