簡體   English   中英

C ++之前的類模板參數推導17

[英]Class template argument deduction before C++17

我正在閱讀標准庫文檔,發現有一些函數,如make_tuple。 據我所知,這些函數只有一個目的:使用自動模板參數推導構造類實例。 由於CTAD在C ++ 17之前不可用,因此必須調用相關的make函數。 這個差距只在C ++ 17中填補。 現在我想知道,為什么它不能像函數模板參數推導那樣“以同樣的方式”實現? 應該有一個導致模糊的例子,在C ++ 17之前無法解決,我想。 有人可以證實嗎? 在這方面,功能和類之間有什么區別? 謝謝!

正如評論中所提到的,功能的標准化需要很長時間。
如果您想詳細了解它,可以查看https://isocpp.org上的標准化部分,特別是“ISO提案的生命:從”酷想法“到”國際標准“”

最終制成的紙CTAD在C ++ 17種可能的標題為模板花絮 ,並首次發表於2012年9月22日。

它經歷了多次修訂,論文“類模板的模板論證演繹” ,該論文的第六次修訂於2016-06-24發表。

因此,CTAD花了大約五年時間才從“酷想法”走向“國際標准”。

同樣正如@StoryTeller指出的那樣,這個想法本身已經存在了很長時間,並在2007年出版的論文“建築師論文演繹 ”一文中提出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM