C++我来了
终于开始搞C++, 最后还是逃不过去, 话说其实Python也是可以的...
#include "stdafx.h" #include <vector> #include <iostream> using std::vector; using std::cout; using std::endl; void reset(int *p); void add(int &r); int _tmain(int argc, _TCHAR* argv[]) { vector <int>v = { 1, 2, 3, 4 }; for (auto &r : v){ r = r + 1; } for (auto &r : v){ cout << "r=" << r << endl; } int n = 1; int *p = &n; int &r = n; cout << "before n: " << n << endl; reset(p); cout << "after n: " << n << endl; add(r); cout << "after n: " << n << endl; return 0; } void reset(int *p){ *p = 0; } void add(int &r){ r = 22; }
上面的例子说明了一个是拿指针*当形参, 一个拿引用&当形参的例子, 避免混淆.