##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::experimental::basic_string_view::operator[]

From cppreference.com
< cpp‎ | experimental‎ | basic string view

constexpr const_reference operator[](size_type pos) const; |  | (library fundamentals TS)

Returns a const reference to the character at specified location `pos`.

No bounds checking is performed: the behavior is undefined if pos >= size().

### [edit] Parameters

pos | - | position of the character to return

### [edit] Return value

Const reference to the requested character

### [edit] Exceptions

Does not throw

### [edit] Complexity

Constant.

### [edit] Notes

Unlike std::basic_string::operator[], `basic_string_view::operator[](size())` has undefined behavior instead of returning `CharT()`.

### [edit] Example

Run this code

    #include <iostream>
    #include <experimental/string_view>
    int main()
    {
        std::string str = "Exemplar";
        std::experimental::string_view v = str;
        std::cout << v[2] << '\n';
    //  v[2] = 'y'; // Error: cannot modify through a string view
        str[2] = 'y';
        std::cout << v[2] << '\n';
    }

Output:

    e
    y

### [edit] See also

at | access specified character with bounds checking (public member function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/experimental/basic_string_view/operator_at&oldid=77016"