Переменные не должны быть неявно получены в лямбда-выражении.
Переменные не должны быть неявно получены в лямбда-выражении.
В лямбда-выражении у вас есть опция, чтобы получить переменные неявно. Например, это лямбда-выражение
[&](std::int32_t var) { sum+ = var; }
Если переменная в органе по выражению прибывает из контекста вызова.
Например, в предыдущем лямбда-выражении, это не ясно если sum
получен от контекста вызова или глобальная переменная.
Если все переменные, полученные от контекста вызова, используются и изменяются ли переменные или только читаются (Если переменные читаются, получение копией предпочтено).
Если вы получаете переменные явным образом в лямбда-выражении, вы имеете больше контроля на том, получить ли ссылкой или копией. Кроме того, вы или рецензент можете считать лямбда-выражение и определить, была ли переменная получена от контекста вызова.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: Выражения |