|
|
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.