指針傳遞,值傳遞和引用傳遞是C++中最容易引起混淆的地方,現總結一下:
值傳遞
形式參數是對實參的一個拷貝,改變形參的值不會影響外部實參的值。值傳遞是從實參到形參單向傳遞的,參數的值隻能傳入,不能傳出。一般當函數内部需要修改參數,并且不希望這個改變影響調用的時候,采用值傳遞。
指針傳遞
形參指向實參位址的指針,當對形參的指向操作的時候,相對于對實參本身進行了操作。
引用傳遞
形參相當于實參的“别名”,對形參的操作實際上就是對實參的操作,在引用傳遞的過程中,被調用的函數的形參雖然是局部變量在棧種開辟了新的記憶體空間,但是這存放的是主調用函數的實參變量的位址。是以,對形參做的任何操作都會對度調用函數種的實參變量産生影響。