2011-07-09 108 views
1

我真的好奇 - 爲什麼auto支持值類型?當然,auto現在是auto&&現在更好 - 如果需要,它可以延長臨時對象的壽命。汽車的類型

回答

6

「爲什麼」這樣的問題很難(如果不是不可能的話)回答 - 即使涉及的委員會成員可能很難重建導致他們做出決定的整個事件序列。這導致了第二點:這種決策經常發生在一系列事件上,就像從FDIS(或任何其他標準草案)中看到的單個「靜態」總體視圖一樣。

儘管存在這些問題,您至少還可以通過閱讀提案,相反提議和論點等來了解決策是如何產生的。在這種情況下,建議歷史運行是這樣的:

N1478Decltype和經銷商
N1527機制查詢類型的表達式: Decltype和經銷商重新
N1607Decltype和經銷商(修訂版3)
N1705Decltype和經銷商(修訂版4)
N1721從其初始化表達式
N1737恢復一個提案多聲明符自動聲明
N1794推導變量從其初始化表達式的類型(修訂2)
N1894推導推導變量的類型從其初始值表達式(修訂版3)變量的類型
N1978刪除類型(修訂版5)
N1984 * 推導變量從其初始化表達式的類型(修訂4)
N2115Decltype(修訂版6):提議的措詞
N2337汽車的語法聲明
N2343Decltype (修訂版7):提案措辭
N2763統一函數語法
N2825統一函數語法(修訂)

decltypeauto的建議在2005年左右進行了岔,但我將稍後dectype論文爲好,因爲這兩種處理類似的問題,他們(似乎有)試圖保持兩者之間的一致性。

這不是標準的建議,但Gabriel Dos Reis和Bjarne Stroustrup也有Representing C++ Directly, Completely and Efficiently,它對同一主題有一定的影響,並且可能至少會對這個主題產生影響。

毫無疑問,我在這裏遺漏了至少幾篇論文(至少有些參考文獻可能是相關的),但這些至少應該是理解事情如何得到它們的方式的合理開始。

+0

讓有趣的閱讀,謝謝。 – Puppy