C++STLのmatch_resultsoperator[]
この記事では、C ++ STLでのmatch_results演算子「[]」の動作、構文、および例について説明します。
C ++ STLのmatch_resultsとは何ですか?
std ::match_resultsは、一致する文字シーケンスのコレクションを保持するために使用される、特殊なコンテナのようなクラスです。このコンテナクラスでは、正規表現の一致操作により、ターゲットシーケンスの一致が検出されます。
match_results演算子「[]」とは
Match_results演算子[]は、match_resultsのi番目の位置を直接参照するために使用される参照演算子です。演算子[]は、関連付けられたオブジェクトのi番目の一致位置を返します。この演算子は、ゼロから始まる一致位置で要素に直接アクセスする必要がある場合に便利です。
構文
match_results1[int i];
パラメータ
この演算子は、整数型、つまりアクセスしたい要素の1つのパラメーターを取ります。
戻り値
この関数は、一致結果のi番目の場所への参照を返します。
例
Input: string str = "TutorialsPoint"; regex R("(Tutorials)(.*)"); smatch Mat; regex_match(str, Mat, R); Mat[0]; Output: TutorialsPoint
例
#include <bits/stdc++.h> using namespace std; int main() { string str = "TutorialsPoint"; regex R("(Tutorials)(.*)"); smatch Mat; regex_match(str, Mat, R); for (int i = 0; i < Mat.size(); i++) { cout<<"Match is : " << Mat[i]<< endl; } return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Match is : TutorialsPoint Match is : Tutorials Match is : Point
例
#include <bits/stdc++.h> using namespace std; int main() { string str = "Tutorials Point"; regex R("(Tutorials)(Point)(.*)"); smatch Mat; regex_match(str, Mat, R); int len = 0; string S; for(int i = 1; i < Mat.size(); i++) { if (Mat.length(i) > len) { str = Mat[i]; len = Mat.length(i); } } cout<<"Matching length is : " << len<< endl; return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Matching length is : 0
-
C ++ STL(3)でのsetとunordered_set
この記事では、C ++ STLで設定されているものとunordered_setを理解し、それらの違いについて理解しましょう。 何が設定されていますか? セット Key型の一意のオブジェクトのソートされたセットを含む連想コンテナです。各要素は1回だけ発生する可能性があるため、重複は許可されません。ユーザーは要素を任意の順序で挿入してセットを作成できます。セットは並べ替えられたデータをユーザーに返します。つまり、セットにはユーザーから抽出されたデータを並べ替えるための定義が含まれています。 セットを使用できる主な理由は − 並べ替えられたデータの場合 必須 重複する値が必要ない場
-
C ++ STL(3.5)でスタック
C ++ STLでは、スタックはLIFO構造として実装されるコンテナーとして使用されます。 LIFOは後入れ先出しを意味します。 Stackは、本が上下に並べられた本の山と見なすことができ、最後に挿入された本が最初に削除されるため、LIFO構造と呼ばれます。 スタックに関連付けられている操作は- Top() -この関数は、スタックの最上位要素への参照を返します。 構文 --name_of_stack.top() パラメータ -パラメータなし 戻り値 -スタックコンテナの最上位要素への参照 Push() -この関数は、要素をスタックコンテナに挿入するために使用されま