2016-05-11 2 views
0

2つの文字列の交点と結合を得る方法がありますか?私はどのように交差点と文字列の結合を取得し、この答えに遭遇しました Intersection and union of two stringsしかし、これは単純な操作のこの種のためにあまりにも長く思われる、多分私はPythonスタイル(私は最近C + +を学び始めたので)。とにかく、誰かが私にこの簡潔な方法を示してくれたら、とても感謝しています。2つの文字列の交点と結合を得る方法はありますか?

+1

2つの関数の長さはどのくらいですか? – Rakete1111

+1

申し訳ありませんが、C++の標準ライブラリ関数は冗長なためです。入力を受け取り、出力を返す独自の関数をいつでも作ることができます – vu1p3n0x

+1

tbhにリンクされた答えよりも簡単にする方法がわかりません。 – Galik

答えて

0

すでに提案されているように、いいえ。

基本的に、リンクされたソリューションの "冗長性"は、汎用性を持たせるためにすべての引数を指定する必要があるためです。いくつかの一般的な操作では、より詳細な具体的なバリアントはありません(たとえばstring::operator=std::equalよりも冗長ではありません)が、共通のの機能をカバーしています。 2つのストリングの和集合は一般的な操作ではなく、おそらく他の場所より宿題で多く使用されます。

1

たとえば、範囲ライブラリを使用して冗長性を減らすことができます。 Boost.Range。本質的にイテレータのペアである範囲の代わりにイテレータに基づいているため、STLは非常に冗長です。 Boost.Rangeを使って書くことができます

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

ありがとうございます – Humoyun

関連する問題