![Symbian Developer Library](../../../../../../a_stock/images/mainheading.gif)
![]() |
![]() |
|
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.