摘要: 泛型編程(Generic Programming)最初提出時(shí)的動(dòng)機(jī)很簡(jiǎn)單直接:發(fā)明一種語言機(jī)制,能夠幫助實(shí)現(xiàn)一個(gè)通用的標(biāo)準(zhǔn)容器庫(kù)。所謂通用的標(biāo)準(zhǔn)容器庫(kù),就是要能夠做到,比如用一個(gè)List類存放所有可能類型的對(duì)象,這樣的事情;熟悉一些其它面向?qū)ο蟮恼Z言的人應(yīng)該知道,如Java里面這是通過在List里面存放Object引用來實(shí)現(xiàn)的。Java的單根繼承在這里起到了關(guān)鍵的作用。然而單根繼承對(duì)C++這樣的處在語言鏈底層的語言卻是不能承受之重。此外使用單根繼承來實(shí)現(xiàn)通用容器也會(huì)帶來效率和類型安全方面的問題,兩者都與C++的理念不相吻合。
閱讀全文