Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

AW: TDictionary als const

  Alt 22. Jun 2017, 16:05
Warum muss es denn eine Konstante sein?

Wenn es irgendeine Objektinstanz (Liste, Dictionary o.ä.) ist, wirst Du deren Daten immer verändern können.
Um die Konstante ansich geht es ja nicht, sondern um die Möglichkeit der statischen Initialisiertung, wie sie z.b. gültig ist für
  • Arrays
    Delphi-Quellcode:
    const
      MyArray: array[0..1] of Integer = (0, 1);
  • Records
    Delphi-Quellcode:
    const
      MyRecord: TRecord = ( Foo: 1; Bar: 'test' );
  • etc

In C++ kann man auch fast alle standard Container der STL mit solchen Initializer-Lists statisch initialisieren, selbst wenn es sich um dynamisch erstellte Instanzen handelt. Delphi kann das meines Wissens nach nur für dynamische Arrays des Typs type TXArray = array of X :
Delphi-Quellcode:
var
  A: TStringArray;
begin
  A := TStringArray.Create('test', '123', '456');
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat