-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathutil.cpp
More file actions
41 lines (38 loc) · 1.16 KB
/
Copy pathutil.cpp
File metadata and controls
41 lines (38 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//
// Created by Edward on 2019/12/16.
//
#include <iostream>
#include <vector>
using namespace std;
// 一、值传递
/*
形参意思是被调用函数的参数/变量,实参意思是主调函数中放到括号中的参数/变量。
传值方式下,形参是实参的拷贝:重新建立了变量,变量取值和实参一样。
即实参a和b的值为20和10,形参x和y的值都是20和10;而a与x的地址、b与y的地址并不相同
表明形参x和y是新建的变量,也即实参a, b是从形参复制了一份
*/
void swap_by_value(int x, int y){
int temp;
temp = x;
x = y;
y = temp;
}
// 二、传指针(地址),实质还是传值
void swap_by_pointer(int *p1, int *p2){
int t;
t = *p1;
*p1 = *p2;
*p2 = t;
}
// 三、传引用
/*
传引用,传递的是实参本身,而不是实参的一个拷贝,形参的修改就是实参的修改,即值相同,地址也相同
相比于传值,传引用的好处是省去了复制,节约了空间和时间。
假如不希望修改变量的值,那么请选择传值而不是传引用。
*/
void swap_by_reference(int &x, int &y){
int temp;
temp = x;
x = y;
y = temp;
}