c – 可以boost:algorithm :: join()连接一个float的容器?

Boost连接可用于连接可选由分隔符字符串分隔的字符串容器.在这个stackovwerflow示例中: A good example for boost::algorithm::join

我的STL技能很弱.我想知道是否有一个数字容器(float,double,ints)使用相同的功能?似乎应该有一双或者两衬以适应其他类型.

还有stl的复制功能,在这里找到一个很好的例子:
How to print out the contents of a vector?

但是我不喜欢在每个元素之后添加分隔符字符串.我只想使用boost.

谢谢.

解决方法

当然,你可以结合boost :: algorithm :: join和 boost::adaptors::transformed将双精度转换为字符串,然后将它们加在一起.
#include <iostream>
#include <vector>
#include <string>

#include <boost/algorithm/string/join.hpp>
#include <boost/range/adaptor/transformed.hpp>

int main()
{
    using boost::adaptors::transformed;
    using boost::algorithm::join;

    std::vector<double> v{1.1,2.2,3.3,4.4};

    std::cout 
      << join( v | 
               transformed( static_cast<std::string(*)(double)>(std::to_string) ),"," );
}

输出

1.100000,2.200000,3.300000,4.400000

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...