c++ - 有没有更短的方法来获得两个字符串的交集和并集?

标签 c++ string visual-c++ set

有没有更短的方法来获得两个字符串的交集和并集?我在寻找如何获得字符串的交集和并集并遇到了这个答案 Intersection and union of two strings但是,对于这种简单的操作来说似乎太长了,也许是因为我习惯了python风格(我最近开始学习C++)。无论如何,如果有人向我展示这种简洁的方式,我将不胜感激。

最佳答案

您可以通过使用范围库来减少冗长,例如升压范围。 STL 非常冗长,因为它基于迭代器,而不是基于基本上是迭代器对的范围。使用 Boost.Range,您可以编写

std::string s1, s2;
std::string difference;
boost::set_difference( boost::sort(s1), boost::sort(s2), std::back_inserter(difference) );

关于c++ - 有没有更短的方法来获得两个字符串的交集和并集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37153190/

相关文章:

c++ - 是否可以创建一个用户定义的文字,将字符串文字转换为自己类型的数组?

ruby - 如何为字符串编写就地方法

windows - 如何处理 Windows CE 中的控制台关闭?

c++ - 帮助将 AA 脚本转换为 C++

C++下载函数

c++ - 使用 XSD 的单元测试 xml 生成器

c++ - 带字符串或字符的动态分配(数组)

Java:在字符串中查找字符串

c++ - 视觉 C++ 2008 : Finding the cause of slow link times

c++ - 如何通过 DhcpSAPI 启用 DHCP 子网