別のプログラマーが作成した非常に長いプログラムを変更する必要があります。彼のコードを調べてみると、C++ オブジェクトへのポインターが 2 つあることがわかります。この場合にダブルポインターが使用される理由がわかりません。シングルポインターでも同じことができると思います。例はそれをより明確にします:
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;
ます。私は何かを無視していますか?