In C++ sometimes I see curly braces after objects, and also parentheses after that curly braces
Examples of curly braces:
std::transform(v.cbegin(), v.cend(), v.cbegin, v.begin(), std::plus<>{}
Question 1: What does {} mean after std::plus<> ?
Example of parentheses after curly brackets:
std::sample(in.begin(), in.end(), std::back_inserter(out),
5, std::mt19937{std::random_device{}()});
Question 2: What does {}() mean in std::random_device{}()