# std::basic_const_iterator<Iter>::operator*

From cppreference.com
< cpp‎ | iterator‎ | basic const iterator

constexpr std::iter_const_reference_t<Iter> operator*() const; | (1) | (since C++23)
constexpr const auto* operator->() const requires std::is_lvalue_reference_v<std::iter_reference_t<Iterator>> && std::same_as<std::remove_cvref_t<std::iter_reference_t<Iterator>>, value_type>; | (2) | (since C++23)

Returns a reference or pointer to the const version of the current element.

1) Returns static_cast<std::iter_const_reference_t<Iter>>(*base()).
2) If `Iter` models `contiguous_iterator`, returns std::to_address(base()); otherwise, returns std::addressof(*base()).

### Parameters

(none)

### Return value

1) Reference-to-const that refers to the current element. The result may be a prvalue (e.g. if `*base()` is a prvalue).
2) Pointer-to-const that points to the current element.

### Example

| This section is incomplete Reason: no example

### See also

operator[] | accesses an element by index (public member function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/iterator/basic_const_iterator/operator*&oldid=161035"