博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++打印任意顺序容器(sequential container)的内容
阅读量:7196 次
发布时间:2019-06-29

本文共 1185 字,大约阅读时间需要 3 分钟。

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

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

你可能感兴趣的文章
科略教育—《只有规则和制度,才能遏制人性的阴暗》
查看>>
IT兄弟连 JavaWeb教程 JSP语法
查看>>
C# DllImport的用法
查看>>
ASM 详解
查看>>
修改xen虚拟机时间
查看>>
javascript-单体模式
查看>>
我的友情链接
查看>>
使用MySqldump命令导出数据时的注意
查看>>
Install andConfigure OpenStack Dashboard Service (Horizon) for Ubuntu 14.04
查看>>
javascript——数组的那些事
查看>>
lsof 列出进程打开的文件
查看>>
办公软件WORD,给自己来个私人订制模板
查看>>
Brocade 300 FC交换机收集诊断日志
查看>>
解决(inode)索引节点用满导致故障的方法
查看>>
ORACLE 10g下载|ORACLE 10g下载地址|ORACLE 10g官网下载地址
查看>>
Create an Auto-Incrementing Sequence Field
查看>>
我的友情链接
查看>>
Flutter第六期 - ListView+GridView混合
查看>>
Servlet快速入门
查看>>
mysql性能测试工具之sysbench
查看>>