0

私はポインタの配列を持っています

myclass* myclass_instances[100];

myclass_instances[i] = new myclass(...);

今、私は別のものを持っていますclass udp_networking。このクラスのメソッド内で、これらのmyclass_instancesオブジェクトに対していくつかのメソッドを呼び出したいと思います。

これでメンバーを宣言する方法 class udp_networkingと、同じインスタンスを指すメンバーをどのように初期化する必要がありますか?

4

2 に答える 2

1

これは次のことを行う必要があります。

class udp_networking {

    myclass* (*ptr_to_array)[100]; // declare a pointer to an array of 100 myclass*

    explicit udp_networking( myclass* (*ptr)[100] )
        : ptr_to_array(ptr) { }
         // initialize it in constructor
};

使用法:

my_class* instances[100] = { /* ... */ };
upd_networking u( instances );

しかし、それは物事を進めるための非常に C'ish な方法です。私は、std::vectorまたはstd::arrayこれを検討します。

于 2013-06-30T14:49:35.240 に答える
-2
myclass* pointer; // this would be a pointer or an array. The difference
                  // is how you use it. Make shure you keep
                  // that difference in mind while programming

myclass** array_of_pointers; // this would be an array of pointers to myclass
                             // might also be an array of arrays.
                             // or an pointer to an array

myclass*** pointer_to_array_of_pointers; // this would be a pointer to an array of pointers
                                         // or an array of arrays of arrays.
                                         // or an array of arrays of pointers.
                                         // or an array of pointers of arrays
                                         // ...
于 2013-06-30T14:56:30.287 に答える