// test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
struct A
{
public:
int num;
};
std::vector<A> nums;
bool Modify1(A& a)
{
// a = b;
a = nums[0];
return true;
}
bool Modify2(A*& ptr)
{
ptr = &nums[0];
return true;
}
int main()
{
// 模拟stack.
A b;
b.num = 1987;
nums.push_back(b);
// 你现在的实现方法.
A a;
Modify1(a);
A* aptr = &a;
aptr->num = 20;
cout<< nums[0].num << endl;
// 更改后的实现方法
A* aa;
Modify2(aa);
aa->num = 17;
cout<< nums[0].num << endl;
return 0;
}
运行结果:
1987
17