1. 我們都知道,普通的傳值參數(shù)是由行參傳給實(shí)參;
編譯器在函數(shù)內(nèi)部為每一個(gè)參數(shù)產(chǎn)生一個(gè)臨時(shí)變量,將每一個(gè)參數(shù)壓入棧(stack)中,將實(shí)參的數(shù)值保存到臨時(shí)變量中。
所以才有在低端8位機(jī)中,對參數(shù)的數(shù)量有比較嚴(yán)格的限制,因?yàn)闂5纳疃确浅S邢蓿划?dāng)然,在通用機(jī)上也有同樣的問題,參數(shù)過多不合適,但通用機(jī)的棧的深度比低端機(jī)大多了;
2. 引用做參數(shù)傳遞的是變量的地址;
實(shí)質(zhì)上傳遞的是變量的指針;
引用作為參數(shù)的好處是減少了臨時(shí)變量對內(nèi)存的開銷,因此常用于對大對象的操作;
而常引用做參數(shù)就是保護(hù)參數(shù)不被修改;
附:堆和棧的知識
一個(gè)由c/C++編譯的程序占用的內(nèi)存分為以下幾個(gè)部分
1、棧區(qū)(stack) 主站蜘蛛池模板: 宜君县| 综艺| 博兴县| 莎车县| 县级市| 弋阳县| 阳曲县| 邵阳市| 清河县| 宝山区| 客服| 金乡县| 什邡市| 华池县| 阜平县| 承德市| 营山县| 蚌埠市| 乾安县| 蒙自县| 浮梁县| 特克斯县| 德州市| 思茅市| 兴海县| 乌拉特前旗| 北流市| 合川市| 高雄市| 兴海县| 彭山县| 新乡县| 苍山县| 沭阳县| 大城县| 淅川县| 永兴县| 永川市| 公安县| 蒙阴县| 灌南县|