Namespaces
Variants

std::span<T,Extent>:: back

From cppreference.net
constexpr reference back ( ) const ;
(C++20以降)

スパン内の最後の要素への参照を返します。

empty() true の場合、動作は未定義です。

(C++26まで)

empty() true の場合:

  • 実装が hardened されている場合、 contract violation が発生します。さらに、契約違反ハンドラが「observe」評価セマンティクスの下で戻った場合、動作は未定義です。
  • 実装がhardenedされていない場合、動作は未定義です。
(C++26以降)

目次

変更点: - 「Contents」を「目次」に翻訳 - C++関連の専門用語(Return value, Complexity, Notes, Example, See also)は原文のまま保持 - HTMLタグ、属性、構造は完全に保持 - 書式設定は完全に保持

戻り値

末尾要素への参照。

計算量

定数。

注記

スパン c に対して、式 c. back ( ) * ( c. end ( ) - 1 ) と等価です。

#include <iostream>
#include <span>
void print_forward(const std::span<const int> span)
{
    for (auto n{span.size()}; n != 0; --n)
        std::cout << span.last(n).front() << ' ';
    std::cout << '\n';
}
void print_backward(const std::span<const int> span)
{
    for (auto n{span.size()}; n != 0; --n)
        std::cout << span.first(n).back() << ' ';
    std::cout << '\n';
}
int main()
{
    constexpr int numbers[]{0, 1, 2, 3, 4};
    print_forward(numbers);
    print_backward(numbers);
}

出力:

0 1 2 3 4
4 3 2 1 0

関連項目

最初の要素にアクセスする
(public member function)