數(shù)組的兩個(gè)特殊性質(zhì)對(duì)我們定義和使用作用在數(shù)組上的函數(shù)有影響:不允許拷貝數(shù)組以及使用數(shù)組時(shí)會(huì)將其裝換成指針鱼辙。
盡管不能以值傳遞的方式傳遞數(shù)組事示,但是我們可以把形參寫(xiě)成類(lèi)似數(shù)組的形式
如果我們傳給 print 函數(shù)的事一個(gè)數(shù)組,則實(shí)參自動(dòng)地轉(zhuǎn)換成指向數(shù)組首元素的指針,數(shù)組的大小對(duì)函數(shù)的調(diào)用沒(méi)有影響。
數(shù)組是以指針的形式傳遞給函數(shù)的郑临,所以一開(kāi)始函數(shù)并不知道數(shù)組的確切尺寸,調(diào)用者應(yīng)該為此提供一些額外的信息屑宠。管理指針形參有三種常用的技術(shù)厢洞。
1,要求數(shù)組本身包含一個(gè)結(jié)束標(biāo)記典奉。
2躺翻,傳遞指向數(shù)組首元素和尾后元素的指針。
3卫玖,專(zhuān)門(mén)定義一個(gè)表示數(shù)組大小的形參公你。
變量可以定義為數(shù)組的引用,形參也可以是數(shù)組的引用假瞬。
形參為數(shù)組的引用時(shí)陕靠,引用形參綁定到對(duì)應(yīng)的實(shí)參上迂尝,也就是綁定到數(shù)組上。
如果所有的實(shí)參類(lèi)型相同垄开,可以傳遞一個(gè)名為 initializer_list 的標(biāo)準(zhǔn)庫(kù)類(lèi)型;如果實(shí)參的類(lèi)型不同粗俱,可以編寫(xiě)一種特殊的函數(shù)说榆,也就是可變參數(shù)模板。
省略符形參類(lèi)型寸认,可以用它傳遞可變數(shù)量的實(shí)參。
initializer_list 也是一種模板類(lèi)型串慰,定義 initializer_list 對(duì)象時(shí)偏塞,必須說(shuō)明列表中所含元素的類(lèi)型。
?initializer_list 對(duì)象中的元素永遠(yuǎn)是常量值邦鲫。