-1

私はほとんどの場合配列を使用しているので、ベクトルを使用して挿入、削除、検索、およびその他の操作を実行するクラスを作成することを考えています。

arrOperation obj = new arrOperation(); 
obj.insert(arr,val);

上に示したように、挿入、削除、およびその他の操作のためのコードを記述した一般的なユーティリティクラスのオブジェクトを作成しています。私の質問は、そのようなクラスを作成してそのクラスで関数を使用するのが良いのか、それとも同じクラス自体に挿入、削除関数を含めるのが良いのかということです。コードを作成し、必要なときにいつでも再利用できる領域についてのアイデアが必要です。

4

3 に答える 3

5

あなたが望むのはstd::vectorクラスのようです。追加は、push_back(val)、insertis insert、およびremoveiseraseです。

于 2012-10-07T17:48:38.643 に答える
2

質問で「ベクトル」と言うと、組み込みの配列について話しているようです。その場合は、探していることをほとんど実行しているように見える をご覧くださいstd::vector<T>

で利用できないいくつかの操作をパッケージ化することについて話してstd::vector<T>いる場合は、適切なシーケンスに適用できる「アルゴリズム」を作成することを検討する必要があります。たとえば、 にstd::vector<T>はその要素をソートするメソッドはありませんが、 a などのstd::sort()任意のランダム アクセス シーケンスをソートできるアルゴリズム がありますstd::vector<T>(もちろん、タイプ に対して厳密な弱い順序が定義されている限りT)。

于 2012-10-07T17:54:42.917 に答える
0

Java でプログラミングする場合は、Java を使用します。他のオブジェクトに関数を提供するためにヒープ上にオブジェクトを作成することは、C++ の目的ではありません。

無料の関数を使用して、既存の型に頻繁に操作を書き込むことができます。

また、動的メモリが必要な場合は、標準ライブラリ クラスを使用できます。

操作を提供するクラスは、フリー関数の存在を許可しない言語にのみ必要です。

于 2012-10-07T21:14:33.010 に答える