|
|
Strings can be declared as static or automatic variables or created, using
the new
operator, on the free store.
Strings are
declared in the usual way; their initial
value is the null String, unless an explicit
initialization is given.
The initializer can be a single character, a character
pointer, another string, or an expression whose type is one of these.
For example:
#include <String.h> int foo() { char* p = "abc"; String a; // a is the null string String b = "abc"; // b is "abc" String c = p; // c is "abc" String d("abc"); // -> String d = "abc" String e = 'd'; // e is "d" String f = 1; // f is "\ 001" String g = d; // g is "abc" String h = g + e; // h is "abcd" String i(p,4); // i is "abc\ 0" String j; j.reserve(400); // j is null, but // space is allocated // for >=400 chars ... }
are all legal String declarations (``+'' is catenate). The declaration
String i(p,4)
; says that String i will contain
the 4 contiguous characters that are pointed to by p
,
"abc" in this case.
This is one method for putting a zero byte in a String.
The reserve()
function can be used on any String to
give a hint about the final size of the String.
It is included for performance reasons,
and should be used in cases where a long String is
created by repeatedly appending
small pieces. The #include
line is required in
all programs that use Strings;
it will be omitted from the rest of the examples.