头文件中的 C++14 通用 lambda
C++14 Generic lambdas in header file
我有如下一组仿函数:
const auto add = [](const auto& x) {
return [=](const auto& n) { return n + x; };
};
将它们存储在头文件中是否正确? (有什么副作用吗?)
您可以毫无问题地将它们存储在 header 中。如果你有相同的函数和相同的参数,它可能会导致问题,但如果你有不同的名称或参数,它会重载它并且没有问题。
至于常量,它们可以存储在 header 中,以便稍后在不同的程序中使用它们。就像函数一样,您可以在需要时随时使用常量(由您定义)。
作为 "side effects" 我会说你可以在另一个文件中包含 header 并使用你的函数而不必重新声明它。
我有如下一组仿函数:
const auto add = [](const auto& x) {
return [=](const auto& n) { return n + x; };
};
将它们存储在头文件中是否正确? (有什么副作用吗?)
您可以毫无问题地将它们存储在 header 中。如果你有相同的函数和相同的参数,它可能会导致问题,但如果你有不同的名称或参数,它会重载它并且没有问题。
至于常量,它们可以存储在 header 中,以便稍后在不同的程序中使用它们。就像函数一样,您可以在需要时随时使用常量(由您定义)。
作为 "side effects" 我会说你可以在另一个文件中包含 header 并使用你的函数而不必重新声明它。