有没有办法只是评估一个函数的参数?

Jon*_*Mee 4 c++ lambda functor negation c++11

鉴于foo哪个是vector我想用它来评估它的内容all_of.但我真正想要检查的是每个元素的评估结果true.

我可以通过使用logical_not而做到这一点,none_of但我宁愿不使用双重否定,写一个lambda感觉很愚蠢:[](const auto param) -> bool { return param; }

标准是否为我提供了一个符合我想要的算符?

Nat*_*ica 6

您正在寻找的是std::identity添加到C++ 20中的内容.它需要一个参数并返回它不变.它operator()看起来像

template<typename T>
constexpr T&& operator()( T&& t ) const noexcept;
Run Code Online (Sandbox Code Playgroud)

然后它回来了

std::forward<T>(t)
Run Code Online (Sandbox Code Playgroud)

  • @rubenvb你可以,但你必须把它投射到一个看起来很难看的函数指针. (2认同)