首页 > 代码库 > new的例子
new的例子
12.6 编写函数,返回一个动态分配的int的vector。将此vector传递给另一个函数,这个函数读取标准输入,将读入的值保存在vector元素中。再将vector传递给另一个函数,打印读入的值。记得在恰当的时刻delete vector。
#include<iostream>#include<new>#include<vector>using namespace std;vector<int>* f1(){ vector<int> *p=new vector<int>; return p;}vector<int>* f2(){ vector<int> *p=f1(); int n; while(cin>>n) p->push_back(n); return p;}int main(){ vector<int> *p=f2(); for(auto v:*p) cout<<v<<" "; delete p; return 0;}
12.7 使用shared_ptr而不是内置指针。
#include<iostream>#include<vector>#include<memory>using namespace std;shared_ptr<vector<int>> f1(){ shared_ptr<vector<int>> p=make_shared<vector<int>>(); return p;}shared_ptr<vector<int>> f2(){ shared_ptr<vector<int>> p=f1(); int n; while(cin>>n) p->push_back(n); return p;}int main(){ shared_ptr<vector<int>> p=f2(); for(auto v:*p) cout<<v<<" "; return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。