我正在尝试编写一个简单的通用函数来迭代容器元素.每个元素都转换为std :: string(无论如何)并存储在另一个地方.基本版本是微不足道的:

template

void ContainerWork(const Container& c)

{

for(const auto& elem : c) {

/* convert to string and store*/

}

}

然后有必要为值类型为std :: string的容器添加特化,并将代码转换为:

template class Container,class Allocator>

void ContainerWork(Container c)

{

for(const T& elem : c) {

/* convert to string and store*/

}

}

template

void ContainerWork(Container<:string> c)

{

for(const std::string& elem : c) {

/* frame elem in quotes*/

}

}

它工作得很好,但现在我只能使用有序的容器(矢量,列表等),但我也想使用set和unordered_set.任何想法如何没有“复制粘贴”实现4个容器的容器?我正在尝试使用decltype(Container):: value_type但没有运气.

我可能会使用大多数c 11功能(编译器 – VS2012或GCC 4.8.x)

c语言标准函数模板,c – 标准库容器的通用函数模板相关推荐

  1. C++ STL常用标准库容器入门(vector,map,set,string,list...)

    STL常用标准库容器 C++ STL中最基本以及最常用的类或容器无非就是以下几个: 目录 string vector deque list forward_list queue priority_qu ...

  2. C++_STL标准库——容器

    C++_STL标准库--容器 参考:cplusplus.com - The C++ Resources Network,VC2019,<C++primer>,<侯捷泛化编程与标准库& ...

  3. STL标准库-容器-set与map

    STL标准库-容器-set与multiset C++的set https://www.cnblogs.com/LearningTheLoad/p/7456024.html STL标准库-容器-map和 ...

  4. c语言常用的库,C语言的一些常用标准库分享

    有很多工程师喜欢自己封装一些标准库已有的函数,其实自己封装的函数,并不一定比标准库好,有时候反而代码更冗余,且有bug.下面就来分享一下C语言常见的一些标准库. 标准头文件包括: 一.标准定义() 文 ...

  5. AT32标准库(BSP)模板建立(开发笔记)

    AT32标准库(BSP)模板建立 环境声明: Keil版本:Keil 5.25 芯片型号:AT32F403A AT Pack版本:Pack_Keil_AT32F4xx_V1.3.6 1. 新建一个工程 ...

  6. 我自己关于C语言,编译器,标准库,GUN glibc,CRT ,API之类的理解。

    先声明,只是我自己看了一些东东的想法. 因为以前这一套东东太缠绕人了. C语言,是一种语言标准,和它对照的是C++,JAVA,BASIC,FORTRAN,PASCAL等等概念.它定义的是自己一套适用于 ...

  7. c 程序设计语言标准库,C++程序设计语言(第4部分:标准库)(原书第4版) 中文pdf扫描版[86MB]...

    C++语言之父的经典名著之最新版本,全面掌握标准C++11及其编程技术的权威指南! 第1版1985年,第2版1991年,第3版1997年,特别版2000年,第4版2013年,经典无限延伸-- C++程 ...

  8. C语言的本质——C标准库之字符串操作

    字符串处理函数 C语言提供了丰富的字符串处理函数,大致可分为字符串的输入.输出.合并.修改.比较.转换.复制.搜索几类.使用这些函数可大大减轻编程的负担.用于输入输出的字符串函数,在使用前应包含头文件 ...

  9. Go语言自学系列 | golang标准库os模块 - 文件目录相关

    视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,请移步至知乎网站,谢 ...

  10. C语言中最常用标准库

    标准头文件包括: <asset.h>      <ctype.h>       <errno.h>       <float.h>   <limi ...

最新文章

  1. 美媒:中关村取代硅谷获评全球最大科技中心
  2. openwrt+linux编译,openwrt x86 编译部署
  3. 1.2、什么是函数?什么是方法
  4. Algs4-1.1.21打印表格
  5. ASP.NET 动态输出Javascript 文本格式换行问题 [ASP.NET | C# | Response]
  6. Java 文件复制 Hutool IO使用
  7. C#——《C#语言程序设计》实验报告——继承与多态——银行ATM程序
  8. linq to sql 多条件组合查询
  9. 3DMax插件和它的3DXI接口
  10. vue如何split_vue代码分割的实现(codesplit)
  11. python分布爬虫_13天搞定Python分布爬虫(第七天)(Scrapy)
  12. BART原理简介与代码实战
  13. DataNode 运行状况
  14. 能源行业将被重构,大数据有哪些“挖”法?
  15. 2021高考俄语成绩查询,2021年俄语专业大学排名及分数线【统计表】
  16. wds和extap作为cpe区别
  17. html页面退格代码,HTML中的退格键
  18. Go语言案例(一)音乐播放器
  19. 【贪心算法】poj 2431: Expedition(最优加油方法)
  20. 全民一起玩python求分享_全民一起玩Python 基础篇+提高篇

热门文章

  1. [转]微信小程序之购物车功能
  2. 在树莓派上搭建gitea
  3. 《CCNA学习指南:Cisco网络设备互连(ICND1)(第4版)》——2.11节生产网络模拟问题2-1...
  4. fsck命令--Linux命令应用大词典729个命令解读
  5. Keil MDK浮点数支持不正常的解决方案
  6. SqlServerExpress2005 自动备份
  7. treeview 如何从多个数据表中获取数据动态生成 [提问]
  8. Zabbix 3.4.2 install Configuration
  9. 2016保持谦卑,继续前行
  10. 直推学习(transductive learning)