Start learning free

LESSON 60 OF 667 · STRINGS I

Exceeding String Bounds in C++

Lesson

When accessing string characters with indices, the most common problem we can run into is exceeding the string's bounds.

Remember, the characters of a string are normally indexed from 0 to length - 1.

Any index which is strictly greater than length - 1 is invalid.

When you try to access a character with an invalid index, C++ returns a random character:

string car = "ford";

// Valid indices: 0, 1, 2, 3
cout << car[0] << endl; // Output: f
cout << car[3] << endl; // Output: d

// Invalid indices: 4, 30
cout << car[4] << endl; // Output: random
cout << car[30] << endl; // Output: random

Some languages like Python wouldn't even let this code run, but throw an IndexError. C++ is more permissive, which is not necessary a good thing.

As a programmer, I'd rather be told when I made a mistake early on so I can fix it, instead of running into problems later on and not knowing what the root of those problems is.

In conclusion, we always want to double check our code to make sure that we don't exceed one string's bounds in our programs.


Assignment
Follow the Coding Tutorial and let's practice with string bounds!


Hint
Look at the examples above if you get stuck.


STEP 1 OF 1
    Ctrl + Enter to check