Supongamos que tenemos la siguiente función:¿podemos pasar arreglos como argumentos a las funciones mediante esta sintaxis, en los próximos estándares de C++ 0x?
void someFunction(int * araye){
for (int i=0;i<5;i++)
cout <<araye[i]<<' ';
cout <<'\n';
}
podemos pasar una matriz a esta función mediante la siguiente sintaxis, bajo los estándares próxima C++ 0x? :
someFunction({1,2,3,4,5});
si eso es cierto, habrá que incluso será capaz de utilizar esta sintaxis en cualquier caso en el cual, elementos de la matriz son de tipo POD, como a continuación:
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}});
Editar-> después de lo que la gente dijo:
Así que ustedes están diciendo que la expresión entre llaves se tratará básicamente como una initializer_list y proponen usar una función adicional que saca un puntero de esa initializer_list y la pasa a la función prevista, pero este método parece me gusta un truco para poder usar mi en función tendida con esa expresión como argumento, dicho esto, creo que no debería usar esa expresión como argumento en absoluto, cuando mi parámetro de función previsto es un único puntero, o podría haber otro enfoque para usar esa expresión? .
Eso sería bueno, tratar las matrices 'int' como las matrices' char' han sido para siempre ... –