Konstruktor Syntax Frage



  • Hallo,

    Ich habe hier folgenden Code, den ich nicht ganz verstehe:

    RecordSnapshotClient::RecordSnapshotClient(RTRSnapshotRecordService& service, const char *symbol) : _record(0)
    {
    	_record = &(service.snapshotRecord(symbol));
    	_record->addClient(*this);
    }
    

    Was bedeutet das ": _record(0)" ?
    _record ist ein member von RecordSnapshotClient:

    protected:
    	RTRSnapshotRecord *_record;
    

    Vielen Dank für jede Antwort!



  • Das nennt sich Initializer - list. Die Membervariable _record wird in diesem Fall noch vor Eintritt in den Constructor-Body mit 0 initialisiert.
    In diesem Fall würde ich sagen ist _record(0) unnötig da der variablen im Body ja sowieso etwas zugewiesen wird.
    Kurt



  • Hallo,
    _record ist ein Zeiger auf RTRSnapshotRecord und mit "_record(0)" wird dieser Zeiger in der Initialisierungsliste (also vor Eintritt in den Rumpf des Konstruktors) zuersteinmal mit 0 initialisiert.

    /edit: Zu langsaaaaaammmmmmmmm... 🙂

    Caipi



  • ...an die schnellen und die zu langsamsn 😉


Anmelden zum Antworten