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

match_results cbegin()C ++ STLにcend()を追加


この記事では、C++STLでのmatch_results::cbegin()関数とmatch_results ::cend()関数の動作、構文、および例について説明します。

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

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

match_results ::cbegin()とは何ですか?

match_results ::cbegin()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。この関数は、match_resultsコンテナの最初の要素を指している定数イテレータを返します。コンスタントイテレータを使用してコンテナを変更することはできません。コンスタントイテレータは、コンテナを反復処理するためだけに使用されます。

構文

smatch_name.cbegin();

パラメータ

この関数はパラメータを受け入れません。

戻り値

この関数は、match_resultsコンテナの最初の要素を指す定数イテレータを返します。

Input: std::string str("TutorialsPoint");
   std::smatch Mat;
   std::regex re("(Tutorials)(.*)");
   std::regex_match ( str, Mat, re );
   Mat.cbegin();
Output: T
cbegin()

#include <iostream>
#include <string>
#include <regex>
int main () {
   std::string str("Tutorials");
   std::smatch Mat;
   std::regex re("(Tuto)(.*)");
   std::regex_match ( str, Mat, re );
   std::cout<<"Match Found: " << std::endl;
   for (std::smatch::iterator i = Mat.cbegin(); i!= Mat.cend(); ++i) {
      std::cout << *i << std::endl;
   }
   return 0;
}

出力

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

Match Found
Tutorials
Tuto
rials

match_results ::cend()とは何ですか?

match_results ::cend()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。この関数は、match_resultsコンテナの最後の要素の隣の要素を指す定数イテレータを返します。この関数は、match_results ::end()と同じように機能します。

構文

smatch_name.begin();

パラメータ

この関数はパラメータを受け入れません。

戻り値

この関数は、match_resultsコンテナの最後の要素の過去を指している定数イテレータを返します。

Input: std::string str("TutorialsPoint");
   std::smatch Mat;
   std::regex re("(Tutorials)(.*)");
   std::regex_match ( str, Mat, re );
   Mat.cend();
Output: m //random value which is past to last.
cend()
までのランダムな値

#include <iostream>
#include <string>
#include <regex>
int main () {
   std::string str("Tutorials");
   std::smatch Mat;
   std::regex re("(Tuto)(.*)");
   std::regex_match ( str, Mat, re );
   std::cout<<"Match Found: " << std::endl;
   for (std::smatch::iterator i = Mat.cbegin(); i!= Mat.cend(); ++i) {
      std::cout << *i << std::endl;
   }
   return 0;
}

出力

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

Match Found
Tutorials
Tuto
rials

  1. C++で2つの数値IIを追加する

    2つの非負の整数を表す2つの空でないリンクリストがあるとします。ここでは、最上位桁が最初に来て、それらの各ノードに1桁が含まれています。 2つの数値を追加して、リンクリストとして返す必要があります。したがって、リストが[7、2、4、3] + [5、6、4]の場合、結果は[7、8、0、7]になります。 これを解決するには、次の手順に従います- ダミーと呼ばれるノードを作成し、値0を格納し、スタックs1とs2を作成します。 s1をl1のノードで埋め、s2をs2のノードで埋めます。 合計:=0 s1が空でないかs2が空でない間 s1が空の場合、sum:=sum +

  2. C ++ STL(3.5)でスタック

    C ++ STLでは、スタックはLIFO構造として実装されるコンテナーとして使用されます。 LIFOは後入れ先出しを意味します。 Stackは、本が上下に並べられた本の山と見なすことができ、最後に挿入された本が最初に削除されるため、LIFO構造と呼ばれます。 スタックに関連付けられている操作は- Top() -この関数は、スタックの最上位要素への参照を返します。 構文 --name_of_stack.top() パラメータ -パラメータなし 戻り値 -スタックコンテナの最上位要素への参照 Push() -この関数は、要素をスタックコンテナに挿入するために使用されま