Да.Поскольку std :: min является функцией, f (x) и g (x) будут оцениваться только один раз.И возвращенные значения не будут скопированы.См. Прототип функции:
template<typename T>
const T& min ( const T& a, const T& b );
Это явная разница с минимально определенным препроцессором макросом:
#define MIN(A,B) ((A)<(B))?(A):(B)