Spec-Zone.ru › C++

std::basic_string<CharT,Traits,Allocator>::end, std::basic_string<CharT,Traits,Allocator>::cend

(1)
iterator end();
(до C++11)
iterator end() noexcept;
(с C++11)
(до C++20)
constexpr iterator end() noexcept;
(с C++20)
(2)
const_iterator end() const;
(до C++11)
const_iterator end() const noexcept;
(с C++11)
(до C++20)
constexpr const_iterator end() const noexcept;
(с C++20)
(3)
const_iterator cend() const;
(до C++11)
const_iterator cend() const noexcept;
(с C++11)
(до C++20)
constexpr const_iterator cend() const noexcept;
(с C++20)

Возвращает итератор на символ, следующий за последним символом строки. Этот символ используется как плейсхолдер, попытка доступа к нему приводит к неопределённому поведению.

range-begin-end.svg

Параметры

(нет)

Возвращаемое значение

Итератор на символ, следующий за последним символом.

Сложность

Постоянная.

Примечания

В libstdc++, cend() недоступна в режиме C++98. не доступна

Пример

#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
 
int main()
{
    std::string s("Exemparl");
    std::next_permutation(s.begin(), s.end());
 
    std::string c;
    std::copy(s.cbegin(), s.cend(), std::back_inserter(c));
    std::cout << c << '\n'; // "Exemplar"
}

Вывод:

Exemplar

Отчёты о дефектах

Следующие отчёты о дефектах, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Применён к Поведение, опубликованное Правильное поведение
LWG 1192 C++98 std::basic_string не имела члена cend() добавлено

См. также

begincbegin
(нет в libstdc++ режиме C++98)
возвращает итератор в начало
(публичный член-функция)
endcend
возвращает итератор в конец
(публичный член-функция std::basic_string_view<CharT,Traits>)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/basic_string/end

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API