std::string is a vector of characters that knows its length
Everything painful about C strings — the null terminator, strcpy overflows, sizing the array — is handled for you.
#include <iostream>
#include <string>
using namespace std;
int main() {
string a = "first";
string b = "hack";
string c = a + b; // concatenation
c += "!"; // append
cout << c << "\n"; // firsthack!
cout << c.length() << "\n"; // 10 (size() is identical)
cout << c[0] << c.back() << "\n"; // f!