Initializing arrays |
Top Previous Next |
What is translated > Types > Arrays > Initializing arrays
The initialization of arrays in Delphi and C++ looks very similar. For example the initialization of an array of TStyleRecord's:
TStyleRecord = record Name : string; Color : TColor; Style : TFontStyles; end; TStylesArray = array[0 .. 2] of TStyleRecord;
might be:
DefaultStyles : TStylesArray = ( (Name : 'tnone'; Color : clBlack; Style : []), (Name : 'tstring'; Color : clMaroon; Style : []), (Name : 'tcomment'; Color : clNavy; Style : [fsItalic]) );
With the C++11 std::initializer_list there is a simple equivalent in C++:
#define arrayinit__0 TSet<int, 0, 255>() #define arrayinit__1 TSet<int, 0, 255>() #define arrayinit__2 (TSet<int, 0, 255>() << fsItalic)
const TStylesArray DefaultStyles = {{_T("tnone"), clBlack, arrayinit__0}, {_T("tstring"), clMaroon, arrayinit__1}, {_T("tcomment"), clNavy, arrayinit__2}};
In C++98 this was not possible, because all elements in such lists had to be C built in types.
|
This page belongs to the DelphiXE2Cpp11 Documentation |
DelphiXE2Cpp11 home Content |