您的位置:首页 > 编程语言 > C语言/C++

C++primer 练习12.6

2016-04-08 01:23 459 查看
编写函数,返回一个动态分配的int的vector。将此vector传递给另一个函数,这个函数读取标准输入,将读入的值

保存在vector元素中。再将vector传递给另一个函数,打印读入的值。记得在恰当的时刻delete vector

// 12_6.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<memory>
#include<iostream>
#include<vector>
using namespace std;

//第一个函数,返回一个动态分配的int的vector
vector<int> * func1()
{   //动态分配一个int的vector,使用默认初始化,此时p指向的对象是个空的vector<int>
auto p = new vector<int>;
return p;
}

//第二个函数读取标准输入
vector<int>* func2()
{
//得到第一个函数动态分配的对象
auto p = func1();
int i=0;
cout << "please input your number:";
while (cin >> i)
p->push_back(i);
return p;
}

//第三个函数,打印读入的值
void func3()
{
//得到第一个函数动态分配的对象
auto p = func2();
for (auto beg = p->begin();beg != p->end();++beg)
cout << *beg << " ";
cout << endl;
//记得释放第一个函数分配的动态内存,否则造成内存泄漏
delete p;
}

int main()
{
func3();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: