Object obj;
auto val = [&obj](){ return obj.func(); }();
auto val2 = [](const Object& obj){ return obj.func(); }(obj);
< /code>
Есть ли различия между ними? Насколько я понимаю, первое создаст некоторое закрытие лямбды с переменной -членом, присвоенной ссылкой на OBJ
, тогда как второе создаст закрытие лямбды без переменных членов (только оператор () , который они оба будут иметь). В любом случае, большинство компиляторов не имеют значения в конце концов? Это вообще зависит от сложности тела лямбды?
Учитывая два примера: < /p> [code]Object obj; auto val = [&obj](){ return obj.func(); }(); auto val2 = [](const Object& obj){ return obj.func(); }(obj); < /code> Есть ли различия между ними? Насколько я понимаю, первое создаст некоторое закрытие лямбды с переменной -членом, присвоенной ссылкой на OBJ [/code], тогда как второе создаст закрытие лямбды без переменных членов (только оператор () , который они оба будут иметь). В любом случае, большинство компиляторов не имеют значения в конце концов? Это вообще зависит от сложности тела лямбды?
Также можно написать это странным образом, используя лямбда-выражения вместо фигурных скобок:
void f()
{
// same stuff as above
{
// same code as above
}();
}
Я пытаюсь понять разницу между этими двумя методами рекурсии для перечисления комбинаций монет:
В первом методе я прошел строку через рекурсию:
def cc_list(amount, n, combination_string):
if amount == 0:
print( Combi , combination_string )
return...
Я пытаюсь понять разницу между этими двумя методами рекурсии для перечисления комбинаций монет:
В первом методе я прошел строку через рекурсию:
def cc_list(amount, n, combination_string):
if amount == 0:
print( Combi , combination_string )
return...
Я пытаюсь запустить следующую строку кода в Python: df1 . hist () , но я продолжаю получать эту длинную ошибку при преобразовании (см. Внизу)
import numpy as np
import pandas as pd
%matplotlib inline
import matplotlib.pyplot as plt