C++Primer 动态内存练习 12.6题

/*************************************************************************
    > File Name: main126.cpp
    > Author:keson
    > Mail:[email protected]
    > Created Time: 2014年11月04日 星期二 13时42分18秒
 ************************************************************************/

#include<iostream>
#include<vector>
#include<memory>
using namespace std;

vector<int>* factory()
{
    return new vector<int>();  //创建vector<int>的动态内存,返回指向该类型的指针
}

vector<int>* read(istream &in,vector<int> *p)   //将读入的int字符push_back到建立的动态vector<int>
{
    int val;
    cout<<"Enter the number:"<<endl;
    while(in>>val)
    p->push_back(val);
    return p;                                   //将动态vector<int>返回,以用于打印
}

void Vec_Print(vector<int>*p)
{
    for(auto c:*p)
    cout<<c<<endl;
    delete p;                                 //打印完毕,释放指针
}

int main()
{
    auto p=factory();
    p=read(cin,p);
    Vec_Print(p);
    return 0;
    
}

你可能感兴趣的:(C++Primer 动态内存练习 12.6题)