basic_string::end
Возвращает итератор, который решает расположение преуспевая последний элемент в строке.
const_iterator end( ) const;
iterator end( );
Возвращаемое значение
Возвращает итератор с произвольным доступом, который соответствует расположение преуспевая последний элемент в строке.
Заметки
ОКОНЧАНИЕ часто используется для проверки достигнут ли конец строк итератор его.Значение, возвращаемое ОКОНЧАНИЕ не должно быть разыменованно.
Если возвращаемое значение ОКОНЧАНИЕ присвоено const_iterator, строковые объекты не могут быть изменены.Если возвращаемое значение ОКОНЧАНИЕ присвоено iterator, строковый объект может быть изменен.
Пример
// basic_string_end.cpp
// compile with: /EHsc
#include <string>
#include <iostream>
int main( )
{
using namespace std;
string str1 ( "No way out." ), str2;
basic_string <char>::iterator str_Iter, str1_Iter, str2_Iter;
basic_string <char>::const_iterator str1_cIter;
str1_Iter = str1.end ( );
str1_Iter--;
str1_Iter--;
cout << "The last character-letter of the string str1 is: " << *str1_Iter << endl;
cout << "The full orginal string str1 is: " << str1 << endl;
// end used to test when an iterator has reached the end of its string
cout << "The string is now: ";
for ( str_Iter = str1.begin( ); str_Iter != str1.end( ); str_Iter++ )
cout << *str_Iter;
cout << endl;
// The dereferenced iterator can be used to modify a character
*str1_Iter = 'T';
cout << "The last character-letter of the modified str1 is now: "
<< *str1_Iter << endl;
cout << "The modified string str1 is now: " << str1 << endl;
// The following line would be an error because iterator is const
// *str1_cIter = 'T';
// For an empty string, end is equivalent to begin
if ( str2.begin( ) == str2.end ( ) )
cout << "The string str2 is empty." << endl;
else
cout << "The stringstr2 is not empty." << endl;
}
Требования
заголовок: <string>
std пространство имен: