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

C++STLのforward_list::cbefore_begin()


C++でのforward_list::cbefore_begin()関数の動作を示すタスクが与えられています。

forward_listは、次の要素および前の要素とのリンクを維持する通常のリストとは異なり、次の要素とのリンクのみを維持します。これにより、両方向の反復が可能になります。ただし、forward_listは順方向にのみ反復できます。

forward_list ::cbefore_begin()関数は、C++標準テンプレートライブラリの一部です。リストの最初の要素の前の位置を取得するために使用されます。

この関数を呼び出すには、ヘッダーファイルをインクルードする必要があります。

構文

Forward_List_Name.cbefore_begin();

パラメータ

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

戻り値

この関数は、forward_listの最初の要素の前の位置を指す定数イテレータを返します。

Input: 8, 9, 32, 21
Output: 56 8 9 32 21

説明 −ここでは、要素8、9、32、21を使用して転送リストを作成しました。次に、リストの最初の要素の前の位置を指し、その位置をイテレータitrに格納するcbefore_begin()関数を呼び出しました。次に、insert_after()関数を使用して、最初の要素の前の位置、つまり8に要素56を挿入します。したがって、これを出力すると、生成される出力は56 8 9 32 21になります。これは、56がの先頭にあることを示しています。リスト、したがってcbefore_begin function()は正しく機能しました。

以下のプログラムで使用されるアプローチは次のとおりです

  • 最初にforward_listを作成し、int型の「Lt」と言って値を割り当てます。
  • 次に、autoタイプのオブジェクト「itr」を作成して格納します。イテレータは、cbefore_begin()関数を呼び出すことによって返されます。
  • 次に、insert_after()関数を使用して、リストの先頭に新しい要素を挿入します。イテレータ「itr」を最初の引数として渡し、挿入する数値を2番目の引数として渡します。
  • 次に、リストを印刷するためのForループを開始します
  • 次に、end()およびbegin()関数の戻り値を受け取るために、forループ内にauto型のオブジェクト「itr」を作成します。 begin()関数を使用してリストの最初の要素を指定して、「itr」を初期化します。
  • 次に、cend()関数を使用して、リストの最後の要素と等しくない「itr」を記述して、forループの終了条件を指定します。
  • 印刷*itr。

アルゴリズム

Start
Step 1->In function main()
   Initialize forward_list<int> Lt={}
   Initialize auto itr= Lt.cbefore_begin()
   Call insert_after(itr, new_element)
   Loop For auto itr = Ltcbegin() and itr != Lt.end() and itr++
   Print *itr
   End
Stop

#include<iostream>
#include<forward_list>
using namespace std;
int main() {
   forward_list<int> Lt = { 40, 55, 67, 89 };
   auto itr = Lt.cbefore_begin();
   Lt.insert_after(itr, 77);
   for (auto itr = Lt.begin(); it != Lt.end(); ++itr)
   cout << *itr << " ";
   return 0;
}

出力

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

77 40 55 67 89

  1. C ++ STLのcosh()関数

    cosh()関数は、ラジアンで指定された角度の双曲線正弦を返します。これはC++STLに組み込まれている関数です。 cosh()関数の構文は次のとおりです。 cosh(var) 構文からわかるように、関数cosh()は、データ型float、double、またはlongdoubleのパラメーターvarを受け入れます。 varの双曲線コサインを返します。 C ++でcosh()を示すプログラムは次のとおりです- 例 #include <iostream> #include <cmath> using namespace std; int main() {  

  2. C ++ STLのsinh()関数

    sinh()関数は、ラジアンで指定された角度の双曲線正弦を返します。これはC++STLに組み込まれている関数です。 sinh()関数の構文は次のとおりです。 sinh(var) 構文からわかるように、関数sinh()は、データ型float、double、またはlongdoubleのパラメーターvarを受け入れます。 varの双曲線サインを返します。 C ++でsinh()を示すプログラムは次のとおりです。 例 #include <iostream> #include <cmath> using namespace std; int main() {