关于vector存放局部变量问题
为什么局部变量存放到vecotr中,函数返回后仍然存在?
测试:
typedef struct A {
int a;
int b;
} A_t;
void AddElement(vector<A_t> &v)
{
for (int i = 0; i < 10; i++)
{
A_t a;
a.a = i;
a.b = -i;
v.push_back(a);
}
}
int main()
{
vector<A_t> v;
AddElement(v);
}
为什么从AddElement返回后v中仍然有数据,难道是一份拷贝放到v中?