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

C++STLのforward_list::cbegin()関数の使い方を徹底解説

この記事では、C++のforward_list::cbegin()関数の動作について詳しく解説します。

forward_listは、通常のlistコンテナと異なり、次の要素へのリンクのみを保持する単方向連結リストです。通常のlistは前後の要素双方とリンクしているため双方向の走査が可能ですが、forward_listは前方方向にしかイテレートできません。その代わり、メモリ消費が抑えられ軽量であるという利点があります。

forward_list::cbegin()関数はC++標準テンプレートライブラリ(STL)の一部であり、リストの最初の要素を指すイテレータを取得するために使用されます。この関数を呼び出すには、<forward_list>ヘッダーファイルをインクルードする必要があります。

構文

Forward_List_Name.cbegin();

パラメータ

この関数は、いかなる引数も受け取りません。

戻り値

この関数は、forward_listの先頭要素を指す定数イテレータ(const_iterator)を返します。定数イテレータのため、このイテレータを通じて要素の値を変更することはできません。要素を変更したい場合は、begin()関数を使用してください。

入力:11, 4, 99
出力:11

説明:

ここでは、要素「11」「4」「99」を持つforward_listを作成しています。続いてcbegin()関数を呼び出すことで、リストの先頭要素を指すイテレータを取得します。そのため、これを出力すると、リストの最初の要素である「11」が表示されます。

以下のプログラムで使用するアプローチ

  • まず、int型のforward_list(ここでは「Lt」とします)を作成し、いくつかの値を代入します。
  • 次に、リストの内容を出力するためのforループを開始します。
  • forループ内で、cbegin()関数とcend()関数の戻り値を受け取るauto型のオブジェクト「itr」を作成します。「itr」は、cbegin()関数を使ってリストの先頭要素で初期化します。
  • forループの終了条件として、「itr」がcend()関数で取得したリストの末尾(最終要素の次の位置)と等しくないことを指定します。
  • *itrを出力します。

アルゴリズム

開始
ステップ1→main()関数内で
  forward_list<int> Lt={} を初期化
  auto itr = Lt.cbegin() とし、itr != Lt.cend() の間 itr++ を繰り返す
  *itr を出力
終了
停止

サンプルコード

#include<iostream>
#include<forward_list>
using namespace std;
int main() {
    forward_list<int> Lt = { 67,88,99,10 };
    // リストの要素を出力する
    cout << "The elements of the list are : " << "\n";
    for (auto itr = Lt.cbegin(); itr != Lt.cend(); itr++)
    cout << *itr << " ";
    return 0;
}

出力

上記のコードを実行すると、次のような出力が得られます。

67 88 99 10
  1. C++ STLのlist::reverse()関数の使い方と実例解説

    本記事では、C++におけるlist::reverse()関数の動作、構文、具体的な使用例について詳しく解説します。STLにおけるlistとはlistは、シーケンス内の任意の位置で定数時間O(1)での要素の挿入・削除を可能にするデータ構造です。listは双方向連結リストとして実装されており、メモリの非連続的な割り当てが可能です。配列、vector、dequeと比較すると、コンテナ内の任意の位置への要素の挿入・抽出・移動において優れたパフォーマンスを発揮します。一方で、要素への直接アクセス(ランダムアクセス)は遅いという特徴があります。listはforward_listと似ていますが、forwar

  2. C++STLのlist back()関数の使い方を解説

    C++のlist back()関数とは本記事では、C++におけるlist back()関数の動作について詳しく解説します。list::back()関数は、C++標準テンプレートライブラリ(STL)の一部であり、リストの最後(末尾)の要素を取得・表示するために使用されます。この関数を呼び出す前に、必ず<list>ヘッダーファイルをインクルードする必要がある点に注意してください。構文List_Name.back();パラメータこの関数は、いかなるパラメータも受け取りません。戻り値この関数は、リストの最後の要素の値を返します。なお、リストが空の場合の動作は未定義となるため、呼び出し前にリ