Скажем, у меня есть функция, которая принимает std::function
:
void callFunction(std::function<void()> x)
{
x();
}
Должен ли я передать x
по const-reference вместо?:
void callFunction(const std::function<void()>& x)
{
x();
}
Изменяется ли ответ на этот вопрос в зависимости от того, что делает с ним функция? Например, если это функция-член класса или конструктор, который сохраняет или инициализирует std::function
в переменной-члене.