文章目录
一、leetcode
在leetcode上做题的时候时常会发现这样的写法
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
}
};
其中&的作用很是让人苦恼
一、C++&引用
有这么一段代码
#include<iostream>
using namespace std;
int main() {
int a = 3;
int b = a;
a = 4;
cout << a << b;
return 0;
}
可以看到它的结果是
a = 4;
b = 3;
但是如果将代码这么写
#include<iostream>
using namespace std;
int main() {
int a = 3;
int &b = a;
a = 4;
cout << a << b;
return 0;
}
它的结果是
a = 4;
b = 4;
但是如果这么写
#include<iostream>
using namespace std;
int main() {
int a ;
int &b = a;
a = 4;
b = 5;
cout << a << b;
return 0;
}
得到的结果就是
a=5;
b=5;
可以看到通过&写法,改变b的值就会改变a的值,相当b是变量a的别名。