文档章节

C++ Primer(第五版)练习12.6

LoSingSang
 LoSingSang
发布于 05/14 23:19
字数 231
阅读 18
收藏 0

编写函数,返回一个动态分配的int的vertor。将此vector传递给另一个函数,这个函数读取标准输入,将读入的值保存在vector元素中。再将vector传递给另一个函数,打印读入的值。记得在恰当的时刻delete vector。

 

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

void fun2(istream &cin,vector<int> *v){
	int i;

	while (cin>>i)
	{
		v->push_back(i);
	}
}

void fun3(vector<int> *v){
	for (auto i=(*v).begin();i!=(*v).end();++i)
	{
		cout<<*i<<endl;
	}
}

vector<int>* fun1(){
	auto *v = new vector<int>;
	fun2(cin,v);
	fun3(v);

	return v;
}

int main(){
	
	auto ptr = fun1();
	delete ptr;

	return 0;
}

代码:https://gitee.com/feistel/codes/uw43p6xy9t7aghcfndzro90

 

练习12.7,改用用shared_ptr。代码如下:

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

void fun2(istream &cin,shared_ptr<vector<int>> v){
	int i;

	while (cin>>i)
	{
		v->push_back(i);
	}
}

void fun3(shared_ptr<vector<int>> v){
	for (auto i=(*v).begin();i!=(*v).end();++i)
	{
		cout<<*i<<endl;
	}
}

shared_ptr<vector<int>> fun1(){
	shared_ptr<vector<int>> v = make_shared<vector<int>>();
	fun2(cin,v);
	fun3(v);

	return v;
}

int main(){
	
	fun1();

	return 0;
}

 

© 著作权归作者所有

共有 人打赏支持
LoSingSang
粉丝 3
博文 28
码字总数 5127
作品 0
深圳
程序员
《C++ primer》读后感:时代的经典

说起Lippman的C++ Primer,我总是有种特殊感情。这本书既是我进入C++领域的敲门砖,也是我第一次在网络上发表技术文章的对象。当年读书笔记中的青涩迷惘和年少轻狂都还历历在目,转眼已经从第...

凌杰_owlman
05/15
0
0
001-EMC 深入解读-目录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q1007729991/article/details/82717008 除了刚毕业的应届生,从来没人敢说他精通 C++,Bjarne Stroustrup (C...

--Allen--
09/15
0
0
C++笔记(一)20110223

近日,公司准备用C++来做个类似openmeetings的软件。C++只是在学校时学习了,当当购了三本《Visal C++ 入门经典(第五版)》、《深入浅出MFC》、《Visaual C++ 音频你/视频处理技术及工程实践...

钟小华
2011/02/23
0
0
C++ Primer 学习笔记(第五章:语句)

C++ Primer 学习笔记(第五章:语句) [TOC] 5.1 简单语句 空块的作用等价于空语句。 ----------------------------------- 5.2 语句作用域 5.3 条件语句 悬垂:else只与离他最近的尚未匹配的...

ShawnLue
2015/08/20
0
0
那些书之《我的第一本C++书》

我的博客 清明放了三天假,上了三天自习,把《我的第一本C++书》看完了 虽然书名是第一本书,其实我觉得应该是第二,或者第三本书,如果没有一点基础来看这本书,肯定会云里雾里。放假前去的...

Geek_Hao
2012/04/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spark Load Data and Export Data

Load_Data_Command 一、导入数据-加载csv文件数据作为spark 临时表DataSource(不需要提前创建表,方便数据分析) 该命令将csv文件导入到临时表中,命令格式为 load data '文件路径' table [...

Avner
10分钟前
1
0
CDH5.13离线安装Spark2.3详细步骤

简介: 在我的CDH5.13集群中,默认安装的spark是1.6版本,这里需要将其升级为spark2.x版本。经查阅官方文档,发现spark1.6和2.x是可以并行安装的,也就是说可以不用删除默认的1.6版本,可以直...

hblt-j
13分钟前
1
0
Add XSS protection headers on Nginx

Add XSS protection headers on Nginx Add the following line in the http or server part of your Nginx configuration : ... # XSS Protection add_header X-Frame-Opt......

idoz
14分钟前
1
0
cmake windows 配置xp toolset

MPRO
20分钟前
1
0
day125-20181023-英语流利阅读-待学习

外卖员不要哭,打零工不容易 雪梨 2018-10-23 1.今日导读 上期我们讲到,有人认为:“零工经济”虽然没有占领全世界,但它剥夺了劳动者的合法权利,加剧了工作的不稳定性,那么“零工经济”是...

飞鱼说编程
32分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部