-
举个
vector
的例子,相对于Java,注意两点;
第一,对象不需要new
。
第二,如果不加&
,默认会重新申请一块内存拷贝进去。
举一个交换的例子:
#include<iostream>
using namespace std;
void swap(int a, int b)//a,b不改变,因为a,b的生命周期只在swap函数内,结束swap后a,b就消失,不改变实参
{
int c = 0;
c = a;
a = b;
b = c;
}
void swap1(int *a, int *b)//使用指针,交换地址实现数字变换
{
int c = 0;
c = *a;
*a = *b;
*b = c;
}
void swap2(int& a, int& b)//使用引用,a,b是实参的别名,相当于对实参的调用
{
int c = 0;
c = a;
a = b;
b = c;
}
ref:
https://www.tlanyan.me/and-operator-in-cpp/
https://blog.csdn.net/qq_38386991/article/details/82719171