Strings
Strings (std::string
) in C++ are objects, sparing us from details like null terminators. #include
<string>
to use.
Strings can be arbitrarily long. The C++ library handles the memory (allocating and adjusting, freeing when
string
goes out of scope)
Initializing
string s1 = "world";
string s2("hello");
string s3(3,'a'); // s3 is "aaa"
string s4; // empty string ""
string s5(s2); // copies s2 into s5
s1 is initialized in two steps. s2 is called with constructors.
Uses
s = "wow" // assign literal to string
cin >> s // put one whitespace-deliminted input word in s
cout << s // write s to standard out
getline(cin,s) //read to end of line from stdin, store in s
s1 = s2 //copy contents of s2 into s1
s1 + s2 // return new string: s1 concatenated with s2
s1 += s2 // same as s1.append(s2)
== != <> <= >= // relational operators; alphabetical order
s.capacity()
returns the bytes of memory allocated
s.substr(offset, howmany)
gives substring of s
s.c_str()
returns C-style const char *
version
s[5]
accesses the 6th character in string
s.at(5)
does the same, additionally doing a "bounds check." This is preferred over
s[5]
.
Commonly used member
functions:
s.length()
returns the length of the string (as a long unsigned value)
empty
returns false when there is at least 1 character
append
like +=
push_back
like append for a single character
clear
set to empty string
insert
insert one string in middle of another
erase
removes stretch of characters from string
replace
replace a substring with a given string