[C++]配列(array)の最後の要素を取得するには?

C++

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

配列(array)の末尾の要素を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

配列(array)の最後の要素を取得する方法は、3つあります。

sizeof

1つ目は、sizeofを使う方法です。

まず、sizeofで配列の要素数を取得します。

そして、配列の要素数を「-1」したインデックスにアクセスします。

int length = sizeof(array) / sizeof(array[0]);
int last = array[length - 1];

上記のインデックスは、配列(array)の末尾の要素を取得します。

使用例

#include <iostream>
using namespace std;

int main(void) {
    int numbers[] = {1, 2, 3, 4, 5};;
    
    int length = sizeof(numbers) / sizeof(numbers[0]);
    int last = numbers[length - 1];
    
    cout << last;
}
出力:
5

size() ※std::arrayとvectorで使用可能

2つ目は、size()を使う方法です。

具体的な方法としては、「array[array.size() - 1]」のように、配列のsize()を「−1」したインデックスにアクセスします。

T last = array[array.size() - 1];

上記のインデックスは、配列(array)の末尾の要素を取得します。

使用例

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

int main(void) {
    array<int, 5> numbers = {1, 2, 3, 4, 5};
    
    int last = numbers[numbers.size() - 1];
    
    cout << last;
}
出力:
5

back() ※std::arrayとvectorで使用可能

3つ目は、back()を使う方法です。

具体的には、「array.back()」のように、ドットを使って配列からback()を呼び出します。

T last = array.back();

上記のback()は、呼び出した配列の末尾の要素を取得します。

使用例

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

int main(void) {
    array<int, 5> numbers = {1, 2, 3, 4, 5};
    
    int last = numbers.back();
    
    cout << last;
}
出力:
5

まとめ

配列(array)の最後の要素を取得する方法は、次の3つです。

  • sizeofを使う方法
    int length = sizeof(array) / sizeof(array[0]);
    int last = array[length - 1];
  • size()を使う方法(std::arrayとvectorで使用可能)
    T last = array[array.size() - 1];
  • back()を使う方法(std::arrayとvectorで使用可能)
    T last = array.back();

コメント

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