#include "pch.h"
#include <iostream>
#include<string>
#include<memory>
#include<vector>
using namespace std;
using T = shared_ptr<vector<int>>;
T func(){
T vec=make_shared<vector<int>>();
return vec;
}
T func_1(T vec) {
int value;
while (cin>>value)
{
vec->push_back(value);
}
return vec;
}
void func_2(T vec) {
for (auto elem : *vec) {
cout << elem;
}
}
int main() {
func_2(func_1(func()));
}
这是我在做C++primer的一道课后题遇到的疑问,这里func()返回的智能指针计数不会为0
怎么释放它对应的内存呢?