Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#11
  Alt 13. Feb 2003, 17:21
Zitat von Chakotay1308:
Was mich aber noch wundert: In der C++-Sprache von Borland wird der . durch ein -> ersetzt (z.B. bei einem record). Allerdings schreibt Dev-C++ immer . und es funktioniert. Kannste mir das mal erklären?
Das -> entspricht dem ^. unter Delphi. Der Pfeil dereferenziert den Zeiger und greift auf die Felder der struct/class zu. Der Punkt hingegen kann nur für statische, also nicht für Zeiger, angewandt werden.
Code:
typedef struct tagMYSTRUCT {
  int a, b;
} MYSTRUCT;

void main()
{
  MYSTRUCT st1;
  st1.a = 10; // ein direkter Zugriff ist hier möglich.

  MYSTRUCT *st2 = new MYSTRUCT;
  st2->a = 20; // hier muss der Zeiger dereferenziert werden
  delete st2;
}
  Mit Zitat antworten Zitat