basic_string::begin

Returns an iterator addressing the first element in the string.

const_iterator begin( ) const;
iterator begin( );

Return Value

A random-access iterator that addresses the first element of the sequence or just beyond the end of an empty sequence.

Remark

If the return value of begin is assigned to a const_iterator, the string object cannot be modified. If the return value of begin is assigned to an iterator, the string object can be modified.

Example

// basic_string_begin.cpp
// compile with: /EHsc
#include <string>
#include <iostream>

int main( ) {
   using namespace std;
   string str1 ( "No way out." ), str2;
   basic_string <char>::iterator strp_Iter, str1_Iter, str2_Iter;
   basic_string <char>::const_iterator str1_cIter;

   str1_Iter = str1.begin ( );
   cout << "The first character of the string str1 is: " 
        << *str1_Iter << endl;
   cout << "The full original string str1 is: " << str1 << endl;

   // The dereferenced iterator can be used to modify a character
   *str1_Iter = 'G';
   cout << "The first character of the modified str1 is now: " 
        << *str1_Iter << endl;
   cout << "The full modified string str1 is now: " << str1 << endl;

   // The following line would be an error because iterator is const
   // *str1_cIter = 'g';

   // For an empty string, begin is equivalent to end
   if (  str2.begin ( ) == str2.end ( ) )
      cout << "The string str2 is empty." << endl;
   else
      cout << "The string str2 is not empty." << endl;
}

Output

The first character of the string str1 is: N
The full original string str1 is: No way out.
The first character of the modified str1 is now: G
The full modified string str1 is now: Go way out.
The string str2 is empty.

Requirements

Header: <string>

Namespace: std

See Also

Reference

basic_string Class