cpp/iterator/begin

Returns an iterator to the beginning of the given range.

@1@ Returns exactly, which is typically an iterator to the beginning of the sequence represented by. If is a standard, this returns  when  is not const-qualified, and  otherwise. @2@ Returns a pointer to the beginning of the. @3@ Returns exactly, with always treated as const-qualified. If is a standard, this always returns.

Return value
An iterator to the beginning of the range.

Exceptions
@3@

Overloads
Custom overloads of may be provided for classes and enumerations that do not expose a suitable  member function, yet can be iterated. The following overloads are already provided by the standard library:

Similar to the use of (described in ), typical use of the  function in generic context is an equivalent of, which allows both the ADL-selected overloads for user-defined types and the standard library function templates to appear in the same overload set.