close
Variants

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

From cppreference.com
 
 
 
 
constexpr iterator begin() const noexcept;

Returns an iterator to the first element of the span.

If the span is empty, the returned iterator will be equal to end().

Image

Parameters

(none)

Return value

Iterator to the first element.

Complexity

Constant.


Example

#include <iostream>
#include <span>

void print(std::span<const int> array)
{
    std::cout << "array = ";
    for (auto it = array.begin(); it != array.end(); ++it)
        std::cout << *it << ' ';
    std::cout << '\n';
}

void set_first_element(std::span<int> sp, int new_value)
{
    if (!sp.empty())
    {
        std::cout << "old *begin = " << *sp.begin() << '\n';
        *sp.begin() = new_value;
        std::cout << "new *begin = " << *sp.begin() << '\n';
    }
}

int main()
{
    int array[]{1, 3, 4, 5};
    print(array);
    set_first_element(array, 2);
    print(array);
}

Output:

array = 1 3 4 5
old *begin = 1
new *begin = 2
array = 2 3 4 5

See also

(C++23)
returns an iterator to the end
(public member function of std::span<T,Extent>) [edit]