|
|
|
Constant literals are objects containing constant literal text which can be placed by the compiler into read-only memory.
They are also referred to as literal descriptors. They
are not true descriptors, i.e. they are not derived from the
descriptor classes, but they do have conversion operators so that they can be
passed to any function which takes a const TDesC16& type, a
const TDesC8& type or a const TDesC& type.
Constant literal descriptors are constructed using the macros:
_LIT16
_LIT8
_LIT
The _L16, _L8 and _L macros, which
perform a similar function, are retained for compatibility purposes, but all
production code that requires literal text should use literal descriptors.
This macro constructs the 16 bit variant constant literal descriptor
for Unicode strings. The literal descriptor object is an instance of a
TLitC16 class and the macro generates const static
TLitC16 in the C++ code.
This macro constructs the 8 bit variant constant literal descriptor for
non-Unicode strings. The literal descriptor object is an instance of a
TLitC8 class and the macro generates const static
TLitC8 in the C++ code.
This macro constructs the build independent type constant literal
descriptor. The literal descriptor object is an instance of a
TLitC class and the macro generates const static
TLitC in the C++ code. By using this type, the appropriate variant,
either 16 bit or 8 bit is selected at build time depending on whether the
_UNICODE macro has been defined or not.