Examples where I have seen this:
std::cout << std::plus<>{}(a, b) << '\n';
in the question here.
std::hash<T>{}(54879)
And others, I can't find them right now.
I know that object{}
or object()
calls the default ctor, and object{val}
or object(val1,val2)
calls a constructor with parameters. And object<>{}
or object<T>()
explicitly specifies any type parameter(s) for the object. But what does this mean when all those are used together? I can't find an article or webpage explaining this either, or I may be missing something. What is it?