我是正確的閱讀,從min
和max
(和minmax
爲此事)有新initializer_list變種的標準,但沒有可變參數模板變種?C++ 11中最小和最大變量模板變體?
因此,這是確定:
int a = min({ 1,2,a,b,5 });
但這不是:
int b = min(1,2,a,b,5); // err!
我想,很多人會想到的是可變參數模板可以很容易地實現這一點,因此他們可能會失望。
我會說使用V.T.爲min
和max
會矯枉過正
- 可變參數模板能夠處理多種類型的
- 初始化列表檢查所有類型是設計相同
因此I.L.更適合這項任務。
我的解釋是否正確?
所有非常好,但如果有一個可變參數設置仍然有人不得不做一個轉換到'std :: initializer_list'到一個「常見類型」發現(並找到一個很好的約定,找出「普通類型」的目的最小化)。 – alfC 2013-10-28 23:26:25