_Pass_fn:构造函数在哪里?

时间:2018-08-13 12:34:58

标签: c++ c++11 templates predicate

A (B|C) D
D (A|B) C

函数template<class _Fn, enable_if_t<!_Pass_functor_by_value_v<_Fn>, int> = 0> constexpr _Ref_fn<_Fn> _Pass_fn(_Fn& _Val) { // pass functor by "reference" return {_Val}; } 返回对象_Pass_fn,但是_Ref_fn<_Fn>没有接受一个参数的构造函数。

_Ref_fn

这是如何工作的?

1 个答案:

答案 0 :(得分:1)

这是Aggregate initialization的变体。

不用成员构造函数就可以用成员值初始化简单的结构是可以的:

struct Point {
    int x;
    int y;
};
...
Point p{1,2};