C ++ 14头文件中的通用lambdas

时间:2016-02-14 21:38:41

标签: c++ header-files c++14 generic-lambda

我有以下的一组仿函数:

const auto add = [](const auto& x) {
    return [=](const auto& n) { return n + x; };
};

将它们存储在头文件中是否正确? (任何副作用?)

1 个答案:

答案 0 :(得分:1)

您可以将它们存储在标题中,而不会出现任何问题。如果您使用相同的参数具有相同的函数,则可能会导致问题,但如果您有不同的名称或参数,则会使其重载并且没有问题。

至于consts,它们可以存储在标题中,以便稍后在不同的程序中使用它们。就像函数一样,您可以在需要时使用常量(由您定义)。

作为“副作用”我会说你可以在另一个文件中插入标题并使用你的函数而不必重新声明它。