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; }?
轉載于:https://www.cnblogs.com/wuchanming/p/3922406.html
總結
- 上一篇: Android 使用NineOldAnd
- 下一篇: 本科生怎样发表论文?