练习 12.7:重做上一题,这次使用shared_ptr而不是内置指针。
#include <iostream>
#include <vector>
#include <memory>
using namespace std;
shared_ptr<vector<int>> new_vec()
{
auto p = make_shared<vector<int>>();
return p;
}
shared_ptr<vector<int>> input(shared_ptr<vector<int>> v)
{
int i;
cout << "输入int元素:";
while (cin >> i)
(*v).push_back(i);
return v;
}
void output(shared_ptr<vector<int>> vv)
{
cout << "打印vector:";
for (const auto &i : (*vv))
cout << i << " ";
}
int main()
{
output(input(new_vec()));
return 0;
}