[C++]リストの最後の要素を取得するには?

C++

どうも、ちょげ(@chogetarou)です。

リスト(List)の末尾の要素を取得する方法を紹介します。

スポンサーリンク

方法

リスト(List)の最後の要素を取得する方法は、2つあります。

back()

ひとつは、back()を使う方法です。

具体的な方法としては、「list.back()」のように、ドットを使いリストからback()を呼び出します。

//myList=対象のリスト, 
T last = myList.back();

上記のback()は、対象のリスト(List)の最後の要素への参照を取得します。

back()に値を代入すれば、リストの最後の要素を変更できます。

//リストの最後の要素を変更
myList.back() = value;

使用例

#include <iostream>
#include <list>
using namespace std;

int main(void){
    
    list<string> nums = { "one", "two", "three", "four", "five"};
    
    string last = nums.back();
    
    cout << last << endl;
    
    return 0;
}
出力:
five

rbegin()

もうひとつは、rbegin()を使う方法です。

まず、リストからrbegin()を呼び出します。

そして、「*」でrbegin()の戻り値の参照を取得します。

//myList=対象のリスト, 
T last = *(myList.rbegin());

上記のrbegin()への参照は、対象のリスト(List)の最後の要素を取得します。

rbegin()の参照に値を代入すれば、リストの最後の要素を変更できます。

//リストの最後の要素を変更
*(myList.rbegin()); = value;

使用例

#include <iostream>
#include <list>
using namespace std;

int main(void){
    
    list<string> nums = { "one", "two", "three", "four", "five"};
    
    string last = *(nums.rbegin());
    
    cout << last << endl;
    
    return 0;
}
出力:
five

まとめ

リスト(List)の最後の要素を取得する方法は、次の2つです。

  • back()を使う方法
    T last = myList.back();
  • rbegin()を使う方法
    T last = *(myList.rbegin());

コメント

タイトルとURLをコピーしました