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

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

概述Boost连接可用于连接可选由分隔符字符串分隔的字符串容器.在这个stackovwerflow示例中: A good example for boost::algorithm::join 我的STL技能很弱.我想知道是否有一个数字容器(float,double,ints)使用相同的功能?似乎应该有一双或者两衬以适应其他类型. 还有stl的复制功能,在这里找到一个很好的例子: How to prin 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 – 可以boost:algorithm :: join()连接一个float的容器?全部内容,希望文章能够帮你解决c – 可以boost:algorithm :: join()连接一个float的容器?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1253056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存