C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

match_results operator =in C ++


この記事では、C ++ STLでのmatch_results演算子「=」の動作、構文、および例について説明します。

C ++ STLのmatch_resultsとは何ですか?

std ::match_resultsは、一致する文字シーケンスのコレクションを保持するために使用される、特殊なコンテナのようなクラスです。このコンテナクラスでは、正規表現の一致操作により、ターゲットシーケンスの一致が検出されます。

match_results演算子「=」とは

Match_results演算子=は、match_resultsに値を割り当てるために使用される等式演算子です。演算子=は、あるmatch_resultsオブジェクトから別のオブジェクトに要素をコピーまたは移動するために使用されます。

構文

match_results1 = (match_results2);

パラメータ

データをmatch_resultsオブジェクトにコピーする必要がある別のmatch_resultsオブジェクト。

戻り値

これは何も返しません。

Input: string str = "Tutorials Point";
   regex R("(Tutorials)(.*)");
   smatch Mat_1, Mat_2;
   regex_match(str, Mat_1, R);
   Mat_2 = Mat_1;
Output: MAT 2 =
   Tutorials Point
   Tutorials
   Point

#include <bits/stdc++.h>
using namespace std;
int main() {
   string str = "Tutorials Point";
   regex R("(Tutorials)(.*)");
   smatch Mat_1, Mat_2;
   regex_match(str, Mat_1, R);
   Mat_2 = Mat_1;
   cout<<"String matches: " << endl;
   for (smatch::iterator i = Mat_2.begin(); i!= Mat_2.end(); i++) {
      cout << *i << endl;
   }
}

出力

上記のコードを実行すると、次の出力が生成されます-

String matches:
Tutorials Point
Tutorials
Point

#include <bits/stdc++.h>
using namespace std;
int main() {
   string str = "Tutorials Point";
   regex R_1("(Tutorials)(.*)");
   regex R_2("(Po)(int)(.*)");
   smatch Mat_1, Mat_2;
   regex_match(str, Mat_1, R_1);
   regex_match(str, Mat_2, R_2);
   smatch Mat;
   if (Mat_1.size() > Mat_2.size()) {
      Mat = Mat_1;
   } else {
      Mat = Mat_2;
   }
   cout<<"string matches " << endl;
   for (smatch::iterator i = Mat.begin(); i!= Mat.end(); i++) {
      cout << *i << endl;
   }
}

出力

上記のコードを実行すると、次の出力が生成されます-

String matches:
Tutorials Point
Tutorials
Point

  1. C ++ STLのmax_size()関数と一致します

    C ++STLのmatchmax_size()関数は、matchコンテナが保持できるmatch_resultsオブジェクト内の要素の最大数を返します。 この関数はパラメータを受け入れません。 サンプルコード #include<iostream> #include <bits/stdc++.h> using namespace std; int main() {    match_results<float*> m;    cout << "max_size: " << &n

  2. Unordered_multimap operator =in C ++

    C++関数std::unordered_multimap ::operator =()は、古いコンテンツを置き換えて新しいコンテンツをunordered_multimapに割り当て、必要に応じてサイズを変更します。 以下は、std ::unordered_multimap ::operator =()関数formstd ::unordered_map()ヘッダーの宣言です。 C ++ 11(構文) unordered_multimap& operator=(const unordered_multimap& umm); パラメータ umm - Another unorder