-2

次の質問があります。新しい配列を作成するときに、初期値を挿入できます。たとえばint array[12];、初期値を持つ12個の値の配列を作成します。たとえば、int 配列の場合、0 の配列になります。この配列をテンプレート クラス オブジェクトの一部として作成しました。intそして、この配列型を、charfloatstringまたはに変更するたびにdouble。このタイプの配列のいずれかの値の一部を、たとえばintfloat、およびの 5 に変更した場合はどうなるでしょうかdouble。char の 'c' に。そして、文字列の「文字列」に。このすべてのオブジェクトに同じコードを使用して、すべてのオブジェクトを初期値に設定するにはどうすればよいですか?

私は作ってみました:

memset(array, 0, sizeOf(T)*13);

また

memset(array, '\0', sizeOf(T)*13);

また

memset(array, NULL, sizeOf(T)*13);

また

memset(array, "", sizeOf(T)*13);

しかし、これらすべてのケースで、どのタイプでも機能しません。誰か助けてくれませんか?ありがとう。

4

1 に答える 1

2

これはどうですか?

#include <algorithm>

std::fill_n(array, length, T());

(Benjamin Lindley の提案を含めるように編集されました。)

于 2013-10-27T23:38:58.433 に答える