4

重複の可能性:
配列への参照パラメータについて何が便利ですか?

void myFunction( int (&arg)[4] );

void myfunction(int arg[4]);

違う?それらはどう違いますか?最初は何をし、どのように呼び出すことができますか?

4

1 に答える 1

7

それらは違う。最初のものは、引数として 4 つの int の配列への参照を取ります。2 つ目は、不明な数の int の配列の最初の要素へのポインターを引数として取ります。

int array1[4] = {0};
int array2[20] = {0};

void myFunction1( int (&arg)[4] );
void myFunction2( int arg[4] );

myFunction1( array1 ); // ok
myFunction1( array2 ); // error, size of argument array is not 4

myFunction2( array1 ); // ok
myFunction2( array2 ); // ok
于 2012-10-17T15:11:05.693 に答える