2014-10-20 15 views
8

ima Andrew Sutton alınacaktıroto onun <a href="https://www.youtube.com/watch?v=qwXq5MqY2ZA" rel="noreferrer">talk at cppcon</a> (içinde ~ 13 dakika) olarak şablon argümanı

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

anlamına siz "yakında" yazmak mümkün olacak bahseder C++ 14'teki jenerik lambdalar için olduğu gibi,
template <typename T, typename U> auto func(T a, U b) { ... } 

.

  1. Bu özelliğin adı nedir?

  2. Bu, Concepts Lite'ın bir parçası mı yoksa ayrı olarak mı önerilmiş? Bu, eğer gerçekten önerilmişse, C++ 14'e girmemiştir; eğer kimse biliyorsa, buna karşı itirazlar nelerdi?

+2

Bunu GCC'de bir uzantı olarak yazabilirsiniz. ['Canlı örnek'] (http://coliru.stacked-crooked.com/a/38bef5ed2f92c361) –

cevap

6
  1. Kısaltılmış Fonksiyon Şablonları
  2. Evet, Kavramları parçası C++ 14 için hazır olmak hiçbir yerde yakın Lite
  3. Bu kavramlar TS öyle.

the latest draft of the concepts TS.

+1

Hızlı yanıt için teşekkürler. "Jenerik fonksiyonlar" ismini söylemem gerekse de, biraz, iyi, jenerik ... –

+0

@TristanBrindle * "jeneric lambdas" adıyla "jenerik işlevler" olmak için kullanılır. TS'nin daha yeni versiyonlarının yerine “kısaltılmış fonksiyon” adını kullandığını unuttum. Muhtemelen belirttiğin nedenden dolayı. – Casey

+0

@TristanBrindle ... ve şimdi [Kısaltılmış Fonksiyon Şablonu] olarak bilinir (https://github.com/cplusplus/concepts-ts/commit/421e2780a4887ee2920484894f59a1a851ac7ddb). – Casey