c – 可以boost:algorithm :: join()连接一个float的容器?
发布时间:2020-12-16 03:06:42 所属栏目:百科 来源:网络整理
导读:Boost连接可用于连接可选由分隔符字符串分隔的字符串容器.在这个stackovwerflow示例中: A good example for boost::algorithm::join 我的STL技能很弱.我想知道是否有一个数字容器(float,double,ints)使用相同的功能?似乎应该有一双或者两衬以适应其他类型.
Boost连接可用于连接可选由分隔符字符串分隔的字符串容器.在这个stackovwerflow示例中:
A good example for boost::algorithm::join
我的STL技能很弱.我想知道是否有一个数字容器(float,double,ints)使用相同的功能?似乎应该有一双或者两衬以适应其他类型. 还有stl的复制功能,在这里找到一个很好的例子: 但是我不喜欢在每个元素之后添加分隔符字符串.我只想使用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) ),"," ); } 输出:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |