首页 > 解决方案 > lambda 函数是否需要任何头文件?

问题描述

我通常在我的 mac 上编写代码,而且我不擅长包含标题(clang 似乎在这方面有很大的余地)。结果,我经常不知道我使用的提供的函数属于哪个标头。

对于 lambda 表达式,它们是否需要包含任何标头?我检查了https://en.cppreference.com/w/cpp/language/lambda,但我没有看到任何关于此的信息。

标签: c++c++11lambda

解决方案


他们没有。Lambda 是一种语言功能,而不是库功能。您可以将它们绑定到std::function其中,<functional>但您不必这样

您可以轻松验证这一点,尽管不包含任何标头,但以下代码仍按预期编译

int main() {
  auto f = [](){};
  f();
}

推荐阅读