hola he encontrado este código en la documentación de WindowsC++ [&] operador
pero que no entiendo lo que significa
[&]
simplemente por favor me puede aclarar lo que debe hacer ??
no es C++ estándar cierto?
Este es el código:
void parallel_matrix_multiply(double** m1, double** m2, double** result, size_t size)
{
parallel_for (size_t(0), size, [&](size_t i)
{
for (size_t j = 0; j < size; j++)
{
double temp = 0;
for (int k = 0; k < size; k++)
{
temp += m1[i][k] * m2[k][j];
}
result[i][j] = temp;
}
});
}
"hace que todos los argumentos de la función' parallel_matrix_multiply()' estén disponibles por referencia a la función lambda "? –
@SteveJessop, '[&]' hace que todas las variables en el alcance estén disponibles en el cuerpo de la función lambda por referencia, incluidos los argumentos de la función 'parallel_matrix_multiply()'.¿Es esto incorrecto o está redactado de manera confusa? – hmjd
Es correcto (por lo que yo lo entiendo: no sé si hay casos de bordes confusos). Mi comentario solo intentaba hacer la frase un poco menos pesada, lo siento si no lo transmití. –