// 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
版权声明:本文博主原创文章。博客,未经同意不得转载。