Data Types
Strings
The std::string type stores and combines text.
string concatenation
The `+` operator can join two `std::string` values into a new string.
Strings
strings.cpp
Replay: real traced execution (multi-file project)
#include <iostream>
#include <string>
int main() {
std::string firstName = "Ada";
std::string greeting = "Hello, " + firstName + "!";
int length = greeting.size();
std::cout << "greeting=" << greeting << std::endl;
std::cout << "length=" << length << std::endl;
return 0;
}
#include <iostream>
#include <string>
int main() {
std::string firstName = "Grace";
std::string greeting = "Hello, " + firstName + "!";
int length = greeting.size();
std::cout << "greeting=" << greeting << std::endl;
std::cout << "length=" << length << std::endl;
return 0;
}
#include <iostream>
#include <string>
int main() {
std::string firstName = "Bjarne";
std::string greeting = "Hello, " + firstName + "!";
int length = greeting.size();
std::cout << "greeting=" << greeting << std::endl;
std::cout << "length=" << length << std::endl;
return 0;
}
firstName ← Ada, greeting ← Hello, Ada!, length ← 11
4int main() {5 std::string firstName→ Ada = "Ada"; //@firstName="Grace", "Bjarne"6 std::string greeting→ Hello, Ada! = "Hello, " + firstNameAda + "!";7 int length→ 11 = greetingHello, Ada!.size();89 std::cout << "greeting=" << greetingHello, Ada! << std::endl;10 std::cout << "length=" << length11 << std::endl;11 return 0;12}outputgreeting=Hello, Ada! length=11
firstName ← Grace, greeting ← Hello, Grace!, length ← 13
4int main() {5 std::string firstName→ Grace = "Grace";6 std::string greeting→ Hello, Grace! = "Hello, " + firstNameGrace + "!";7 int length→ 13 = greetingHello, Grace!.size();89 std::cout << "greeting=" << greetingHello, Grace! << std::endl;10 std::cout << "length=" << length13 << std::endl;11 return 0;12}outputgreeting=Hello, Grace! length=13
firstName ← Bjarne, greeting ← Hello, Bjarne!, length ← 14
4int main() {5 std::string firstName→ Bjarne = "Bjarne";6 std::string greeting→ Hello, Bjarne! = "Hello, " + firstNameBjarne + "!";7 int length→ 14 = greetingHello, Bjarne!.size();89 std::cout << "greeting=" << greetingHello, Bjarne! << std::endl;10 std::cout << "length=" << length14 << std::endl;11 return 0;12}outputgreeting=Hello, Bjarne! length=14
Follow the String
firstNamestarts asAda.- The greeting becomes
Hello, Ada!. lengthcounts the greeting characters.- The default length is
11. - The program prints
greeting=Hello, Ada!andlength=11. | firstName | greeting | length | | --- | --- | --- | | Ada | Hello, Ada! | 11 | | Grace | Hello, Grace! | 13 | | Bjarne | Hello, Bjarne! | 14 |
Exercise: strings.cpp
Reproduce length=11, then use firstName Grace and Bjarne to predict each greeting and length.