C++打印任意顺序容器(sequential container)的内容

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

做相当于合并下面三个函数的工作。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void  PrintStringVector(vector<string> vec)
{
     for  ( auto  i : vec)
     {
         cout << i <<  ' ' ;
     }
     cout << endl;
}
void  PrintIntVector(vector< int > vec)
{
     for  ( auto  i : vec)
     {
         cout << i <<  ' ' ;
     }
     cout << endl;
}
void  PrintIntList(list< int > lst)
{
     for  ( auto  i : lst)
     {
         cout << i <<  ' ' ;
     }
     cout << endl;
}

方案一:

1
2
3
4
5
6
7
8
9
template < typename  Container>
void  PrintContainer(Container container)
{
     for  ( auto  i : container)
     {
         cout << i <<  ' ' ;
     }
     cout << endl;
}

方案二:

1
2
3
4
5
6
7
int  main()
{
     list< int > lst = { 1, 3, 5, 4, 9, 6, 3};
     copy(lst.cbegin(), lst.cend(), ostream_iterator< int >(cout,  " " ));
     cout << endl;
     return  0;
}

方案三:(用boost的lambda)

1
2
3
4
5
6
7
8
9
10
11
#include <list>
#include <iostream>
#include <boost/lambda/lambda.hpp>
using  namespace  std;
int  main()
{
     list< int > lst = { 1, 3, 5, 4, 9, 6, 3};
     for_each (lst.cbegin(), lst.cend(), cout << boost::lambda::_1 <<  ' ' );
     cout << endl;
     return  0;
}

方案四:(用C++11的lambda)

1
for_each(lst.cbegin(), lst.cend(), []( int  i){ cout << i <<  ' ' ; });


***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1276955如需转载请自行联系原作者


RQSLT

相关文章
|
20天前
|
设计模式 存储 Android开发
c++的学习之路:18、容器适配器与反向迭代器
c++的学习之路:18、容器适配器与反向迭代器
21 0
|
2月前
|
存储 算法 C语言
【C++ 迭代器实现 终篇】深入理解C++自定义容器和迭代器的实现与应用
【C++ 迭代器实现 终篇】深入理解C++自定义容器和迭代器的实现与应用
61 0
|
2月前
|
设计模式 程序员 C++
【C++ 泛型编程 高级篇】C++模板元编程:使用模板特化 灵活提取嵌套类型与多容器兼容性
【C++ 泛型编程 高级篇】C++模板元编程:使用模板特化 灵活提取嵌套类型与多容器兼容性
270 2
|
4天前
|
调度 C++ 容器
【C++】手搓 list 容器
本文我们实现了STL库中重要的list 的模拟实现,其中最重要莫过于迭代器的封装类的书写,这是前所未有的操作(对于我来说,我是第一次使用这种结构)。通过list 的模拟实现也帮我们巩固了类与对象的知识,也强化了指针操作的思路。欢迎大家讨论分析。
12 1
|
6天前
|
存储 设计模式 算法
【C++/STL】stack和queue(容器适配器、优先队列、双端队列)
【C++/STL】stack和queue(容器适配器、优先队列、双端队列)
13 1
|
12天前
|
存储 算法 C++
详解C++中的STL(标准模板库)容器
【4月更文挑战第30天】C++ STL容器包括序列容器(如`vector`、`list`、`deque`、`forward_list`、`array`和`string`)、关联容器(如`set`、`multiset`、`map`和`multimap`)和容器适配器(如`stack`、`queue`和`priority_queue`)。它们为动态数组、链表、栈、队列、集合和映射等数据结构提供了高效实现。选择合适的容器类型可优化性能,满足不同编程需求。
|
14天前
|
运维 IDE Serverless
Serverless 应用引擎产品使用之阿里函数计算中,阿里云容器镜像服务(Container Registry)中创建自定义镜像,然后将其部署到FC上如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
28 0
|
18天前
|
存储 算法 程序员
C++从入门到精通:2.2.1标准库与STL容器算法深度解析
C++从入门到精通:2.2.1标准库与STL容器算法深度解析
|
26天前
|
C++ 容器
约瑟夫经典问题C++,STL容器queue解法
约瑟夫经典问题C++,STL容器queue解法
14 0
|
1月前
|
容器
C++map/multimap容器
C++map/multimap容器