2013-06-26 30 views
5

如你所知,Boost有很多類型的特徵。 C++ 11將它們中的一些帶入標準,例如is_pointeris_base_of爲什麼C++ 11沒有包含所有Boost的類型特徵?

還有其他人喜歡has_greaterhas_greater_equal C++ 11沒有合併。爲什麼不?有沒有計劃將它們納入下一個標準?那裏是否有標準委員會或Bjarne Stroustrup的論文?

+1

我不知道你是否會找到明確的答案,但現在只是猜測。猜測可能是他們不相信有足夠的要求或使用,因此現在寧願儘可能保持新標準的簡潔。 – dchhetri

+3

@j_kubik:這不是一個重複。有針對性的答案,如果03至11.這個問題更多的是11至14. –

+0

@EmilioGaravaglia我承認你有一些權利,但我的觀點是或許這個問題稍有不同,但答案依然如此。未來的標準將不得不包含當前的所有標準,因此現在不添加任何東西會給未來更多的自由 - 如果現有的實現將會發展並被廣泛使用,它們將最終達到標準。 –

回答

11

C++ 11月批准2011年運營商的檢測加入提振1.48.0型性狀,後者於2011年11月

我不相信任何人提出他們爲C++ 14 ,現在已經被凍結。 IMNSHO它會很好,如果有人提出它的C + + 17。

4

我不知道這是否是S.O.的主題。 (可能在程序員中更多?) 無論如何,Boost和ISO是兩個完全不同的東西。 「標準」是語言「IS」的含義,幷包含爲任何目的表徵語言所需的內容。 Boost是一個將功能擴展到特定問題的庫。

提升委員會對代碼的「質量」(而不是其主題)進行操作,該標準對「擴展」進行操作(假設質量已給定)。並非所有「好」的東西都是「普通」的。當標準被發現足夠普遍時,標準會有什麼提升。並不是「提升的方式」。它以編譯器經銷商必須滿足的規範的形式出現。

Boost是以許多編譯器可以使用的方式編寫的。標準庫的編寫方式與它所使用的編譯器(或其編譯器系列)一起使用時效果更好(實際上編譯器系列可以使用的編號很多)。這種優化和最終的低級調整是不同的。

某些增強庫成爲標準的一部分並不是一個自動結果。這只是一些「好主意」的巧合,幾乎可以在任何代碼中找到。

也就是說,你的意圖不一定是錯誤的:它可能發生在你問的特定主題上。但是沒有從推動到標準的「移民進步」,也沒有需要提前推進的標準先決條件。

+1

我可能是錯的,但我認爲OP正在尋找標準委員會決定不執行的特性中是否存在特定的缺陷。 –

+0

是的,這也是可以的。這取決於你和OP在「* short * term」中的含義。 C++ 11到C++ 14是否會向你們兩個過渡?如果不是,我的通用答案是有意義的。如果是的話,可能會有更好的答案。好點子! –

+0

Boost和ISO不是不同的。有一個非常重要的個人重疊。請參閱http://www.boost.org/community/ – MSalters

相關問題