1

整数の配列を必要とする関数を呼び出したい。関数を呼び出すたびに整数の新しい配列を作成せずにこれを行うにはどうすればよいですか?

これが私がやりたいことです:

someFunction(new int[]{obj[0].getInt(), obj[1].getInt()});

これを行う代わりに:

int intArray[2] = {obj[0].getInt(), obj[1].getInt()};    
someFunction(intArray);
4

1 に答える 1

4

C++11 を使用できると仮定すると、実際の配列の代わりに(または)somefunctionを取るように定義して、次を使用できます。std::vectorstd::vector const &

somefunction({obj[0].getInt(), obj[1].getInt()});

Java とは異なり、C++ では定期的に使用する必要はありません。new実際、よく書かれたコードのほとんどでは、これはかなり珍しいことです。

余談ですが、一般的には C++ の組み込み配列を避けたいと考えていますが、C++11 ではそれが簡単になり、それらを使用する正当な理由はほとんどありません。

于 2012-07-25T20:06:44.940 に答える