array of const for other compilers |
Top Previous Next |
What is translated > Types > Arrays > Array parameters > array of const > array of const for other compilers
array of const is reproduced for other compilers by an ArrayOfConst class defined in d2c_sysvariant.h, ArrayOfConst is derived from std::vector<TVarRec>.
class ArrayOfConst : public std::vector<TVarRec>
A function declaration with such a parameter looks like:
procedure foo(Args : array of const);
->
void foo ( const ArrayofConst& Args );
The call of the function therefore converts as:
foo(['hello', 'world']); -> foo ( ArrayofConst&( "hello", "world" ) );
Since the ArrayOfConst class has the size method in contrast to C++Builder an additional parameter isn't necessary.
TVarRec
For C++ versions before C++17 TVarRec is defined as a union of different C++ types and a VType field, which indicates which of that types the actual value has.For C++ 17 TVarRec ist defined as a std::variant. In both versions the number of different types that can be stored in TVarRec is less than the number in Delphi, because in C++ there is no difference between WideString and UnicodeString. Therefore there are double cases in case-/switch-statement.
|
This page belongs to the DelphiXE2Cpp11 Documentation |
DelphiXE2Cpp11 home Content |