安德魯 克尼格(關(guān)于安德魯 克尼格的介紹)
大家好,今天小樂來為大家解答以上的問題。安德魯 克尼格,關(guān)于安德魯 克尼格的介紹很多人還不知道,現(xiàn)在讓我們一起來看看吧!
1、decltype,在C++中,作為操作符,用于查詢表達(dá)式的數(shù)據(jù)類型。
2、decltype在C++11標(biāo)準(zhǔn)制定時(shí)引入,主要是為泛型編程而設(shè)計(jì),以解決泛型編程中,由于有些類型由模板參數(shù)決定,而難以(甚至不可能)表示之的問題。
3、泛型編程在整個(gè)1990年代越發(fā)流行,對實(shí)現(xiàn)類型推導(dǎo)機(jī)制的需求也應(yīng)運(yùn)而生。
4、為此,許多編譯器廠商都基于程序語言現(xiàn)有的功能,自行實(shí)現(xiàn)了這類操作符,其實(shí)現(xiàn)如typeof,以及一些功能有限,但更易移植的實(shí)現(xiàn)。
5、2002年間,比雅尼·斯特勞斯特魯普提議在C++內(nèi)標(biāo)準(zhǔn)化這類操作符,并將之加入C++;且建議命之為“decltype”,以反映其具有獲取表達(dá)式的“聲明類型”(Declared Type)的功能。
6、從語義上說,decltype的設(shè)計(jì)適合于通用庫編寫者與編程新手。
7、總體上說,對于目標(biāo)對象或函數(shù),由decltype推導(dǎo)出的類型與源碼中的定義可精確匹配。
8、而正如sizeof操作符一樣,decltype亦不需對操作數(shù)求值。
本文到此結(jié)束,希望對大家有所幫助。
標(biāo)簽: