// ============================================================================ // p1c03_31 — 3.10.2 函数中的引用 // 来源:川大 C++/LinuxC wiki「02.Qt方向」 // 说明:本文件由 gen_part1.py 合并页面中的教学片段而成。每个片段用 // // --- 原文片段 [pageId:blockIdx] --- 标注出处。 // 已做最小修正(笔误/平台移植),详见 docs/ERRATA.md。 // ============================================================================ #include using namespace std; // --- 原文片段 [58954439:30] 3.10.2 函数中的引用 --- //值传递 void ValueSwap(int m,int n){ int temp = m; m = n; n = temp; } //地址传递 void PointerSwap(int* m,int* n){ int temp = *m; *m = *n; *n = temp; } //引用传递 void ReferenceSwap(int& m,int& n){ int temp = m; m = n; n = temp; } void test(){ int a = 10; int b = 20; //值传递 ValueSwap(a, b); cout << "a:" << a << " b:" << b << endl; //地址传递 PointerSwap(&a, &b); cout << "a:" << a << " b:" << b << endl; //引用传递 ReferenceSwap(a, b); cout << "a:" << a << " b:" << b << endl; } // --- main --- int main() { test(); return 0; }