2014-10-20 94 views
8

在他talk at cppcon(〜13分鐘),安德魯·薩頓提到,你將「很快」就能寫汽車在函數參數列表意味着模板參數

auto func(auto a, auto b) { ... } 

將被理解爲

template <typename T, typename U> auto func(T a, U b) { ... } 

就像在C++ 14中引入通用lambdas一樣。

  1. 此功能的名稱是什麼?

  2. 這是Concepts Lite的一部分,還是單獨提出?

  3. 這顯然沒有把它變成C++ 14,如果它確實被提出的話;如果有人知道,反對意見是什麼?

+2

你可以在GCC中作爲擴展名寫這個。 ['Live example'](http://coliru.stacked-crooked.com/a/38bef5ed2f92c361) – 2014-10-20 05:51:16

回答

6
  1. 縮函數模板
  2. 是的,這是概念的一部分精簡版
  3. 它在概念TS,這是隔靴搔癢準備好用於C++ 14。

the latest draft of the concepts TS中查看全部。

+1

感謝您的快速響應。雖然我不得不說,名稱「通用函數」似乎有點,通用... – 2014-10-20 05:39:03

+0

@TristanBrindle它*使用*爲「泛型函數」,擴展名爲「通用lambdas」。我忘記了更新版本的TS已經使用名稱「縮寫功能」來代替。可能正是你指定的原因。 – Casey 2014-10-20 05:49:24

+0

@TristanBrindle ...現在它被稱爲[縮寫函數模板](https://github.com/cplusplus/concepts-ts/commit/421e2780a4887ee2920484894f59a1a851ac7ddb)。 – Casey 2014-11-04 03:28:35