7.4. String size

To find the size (or length) of a string (number of characters), we can use the size function. The syntax for calling this function is a little different from what we’ve seen before.

The active code below outputs the size of string fruit.

Note

The string class does include a function length which does the same thing as size, but in general, we will use size mostly to be consistent with other container classes in the C++ Standard Library.

To describe this function call, we would say that we are invoking the size function on the string named fruit. This vocabulary may seem strange, but we will see many more examples where we invoke a function on an object. The syntax for function invocation is called “dot notation,” because the dot (period) separates the name of the object, fruit, from the name of the function, size.

size takes no arguments, as indicated by the empty parentheses (). The return value is an integer, in this case 6.

To find the last letter of a string, you might be tempted to try something like

int size = fruit.size();
char last = fruit[size];       // WRONG!!

That won’t work. The reason is that there is no 6th letter in "banana". Since we started counting at 0, the 6 letters are numbered from 0 to 5. To get the last character, you have to subtract 1 from size.

Warning

A common source of error involving strings and other arrays is indexing out of bounds. This is usually the result of forgetting to subtract 1 from size.

The active code below outputs the last character in string fruit using the size function.

Construct a block of code that correctly implements the accumulator pattern, with course being the first variable initialized.

You have attempted of activities on this page