This is impossible to answer in general (depends on how exactly you store the lambda). If you store it in
std::function
then you're safe, it always stores a copy.