stringapi: Use strings for the languages
strings: Use snprintf rather than sprintf
containers: Use .empty() rather than size() where possible
iterators: Use 'i->' instead of '(*i).'
cmCTestBuildAndTestHandler: Improve the argument parser

Use an if/else tree and cmHasLiteralPrefix.
INC conditionals: Reorder statements for short-circuiting

Put cheaper conditions first to hopefully avoid expensive calculations.
strings; Use .size() instead of strlen(str.c_str())
container: Use .rbegin() to get the last element of containers
strings: Use .resize() instead of assignment

When doing:

    str = str.substr(0, len);

a reallocation is triggered. Instead, use .resize() to shrink the
string.
INC containers: Cache the size when parsing arguments
INC strings: Store const& for local variables
INC strings: Unnecessary casts
IsOff: Use the length for the string construction

No need to waste the calculation and force the string to call strlen
again.
targets: Use string for target name parameters
INC strings: Assign strings as const& where possible
variables: Pass variable names as strings

If a string is already available, pass it directly instead of making
another.
properties: Use strings when available
!simplification: Simplify if statements

When branching to change one argument, instead just use the ternary
conditional on the argument.
sources: Use strings for GetSource methods
!simplification: Check variable values once

The:

    if (variableLookup(name))
      {
      std::string value = variableLookup(name);
      }

pattern is pervasive and can be optimized into:

    if (const char *tmp = variableLookup(name))
      {
      std::string value = tmp;
      }