我不确定我的方法是否正确。由于我将向Function
传递的向量v
引用,因此在执行后,向量的内容将更改。
如果我不能直接使用向量v
并决定使用临时向量temp
,那么通过v = temp
将其分配给v
是否正确?在Function
执行后,引用v
指向的内存会被清除吗?
void Function(std::vector<bool> &v) {
std::vector<bool> temp(v.size(), false);
// some operations on vector temp
// ...
v = temp;
}
Function
结束后尝试使用v
,因为v
指向的是temp
,而temp
已经不存在,所以这样做不安全,对吗?如果使用指针而不是引用,会有什么不同吗? - Gaurav Sehgalint i = 0; int j = 1; int& r = i; r = j; j = 2;
那么r
和i
的值都是1
,但r
仍然绑定在i
上,而不是j
上。 - songyuanyao