C++ 11中的min和max Variadic模板变体?

tow*_*owi 7 c++ initializer-list stl-algorithm variadic-templates c++11

我是否正确阅读来自minmax(以及minmax此类)的标准有新的initializer_list变体,但没有Variadic模板变体?

这样就可以了:

int a = min( { 1,2,a,b,5 } );
Run Code Online (Sandbox Code Playgroud)

但这不是:

int b = min( 1,2,a,b,5 ); // err!
Run Code Online (Sandbox Code Playgroud)

我想,很多人都希望Variadic模板可以很容易地实现这一点,因此他们可能会感到失望.

我会说使用VT min并且max会有点矫枉过正

  • 可变参数模板能够处理多种类型
  • 初始化列表检查所有类型是否相同

因此IL更适合这项任务.

我的解释是否正确?

How*_*ant 10

你的解释是正确的. N2772包含更深入的基本原理.