Supponiamo di avere seguente funzione:possiamo passare gli array come argomenti alle funzioni con questa sintassi, sotto gli imminenti standard C++ 0x?
void someFunction(int * araye){
for (int i=0;i<5;i++)
cout <<araye[i]<<' ';
cout <<'\n';
}
possiamo passare un array a questa funzione dalla seguente sintassi, sotto imminente C++ 0x standard? :
someFunction({1,2,3,4,5});
se questo è vero, saremo anche in grado di utilizzare questa sintassi, in ogni caso in cui, elementi di matrice sono da tipi POD come di seguito:
class Test{
int adad1;
int adad2;
};
void someFunction(Test * araye){
for (int i=0;i<3;i++)
cout <<araye[i].adad1<<'-'<<araye[i].adad2<<' ';
cout <<'\n';
}
someFunction({{1,2},{3,4},{5,6}});
Modifica-> dopo quello che la gente ha detto:
Quindi voi ragazzi state dicendo che l'espressione tra parentesi graffe verrà fondamentalmente trattata come una lista_iniziale e propone di utilizzare una funzione extra che estrae un puntatore da quella lista_inizializzazione e lo passa alla funzione desiderata, ma questo metodo sembra mi piace un trucco per poter usare il mio dentro funzione di tesi con quell'espressione come argomento, con quello detto penso che non dovrei usare quell'espressione come argomento, quando il mio parametro funzione è un puntatore singolo, o potrebbe esserci un altro approccio per usare quell'espressione? .
Sarebbe bello, per trattare gli array di 'int' come' gli array di char sono stati per sempre ... –