どうも、ちょげ(@chogetarou)です。
配列(array)の末尾の要素を取得する方法を紹介します。
方法

配列(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();
コメント