指針和引用作為函數參數傳遞


#include "stdafx.h" #include <iostream>
using namespace std; void reset( int *i ) { //解引用
    *i = 0; } void reset( int i ) { //只改變了i的局部拷貝,並未改變實參的值
//調用函數,實質上將形參使用實參的值初始化, 將實參的值拷貝給i
i = 0; } void reset_(int &i) { //i是傳給reset函數的對象的另外一個名字(而且可以避免拷貝,對於大型對象作為參數的情況可以提高效率) i = 0; } int _tmain(int argc, _TCHAR* argv[]) { int p = 1 , q =1, w = 1; reset(p);//int作為函數參數,不能改變p的值 reset( &q );//指針作為函數參數,能改變q的值 reset_(w);//形參i為對象w的引用,改變i即使改變w,能改變w的值 cout << "p = " << p << endl; cout << "q = " << q << endl; cout << "w = " << w << endl; getchar(); return 0; }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM