std::end(std::initializer_list)

From cppreference.com
template< class E >
const E* end( initializer_list<E> il ) noexcept;
(since C++11)
template< class E >
constexpr const E* end( initializer_list<E> il ) noexcept;
(since C++11)
(until C++14)

The overload of std::end for initializer_list returns a pointer to one past the last element of il.

Parameters

il - an initializer_list

Return value

il.end()

Example

#include <iostream>

int main() 
{
    // range-based for uses std::begin and std::end to iterate
    // over a given range; in this case, it's an initializer list
    for (int i : {3, 1, 4, 1}) {
        std::cout << i << '\n';
    }
}

Output:

3
1
4
1

See also

returns a pointer to one past the last element
(public member function)