Move constructor für cString

  • Hallo kls ,


    Könntest du in tools.h den cString move constructor ergänzen?


    Code
    cString(cString &&String):
      s(String.s) { String.s = NULL; }


    Spart in einigen Fällen ein malloc, z.B.:


    Code
    tChannelID channelID;
    cString chanStr(channelID->ToString());


    ~ Markus

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

    Einmal editiert, zuletzt von MarkusE ()

  • Hi,


    Optimal wäre zusätzlich der move assignment operator:

    Code
    cString &cString::operator=(cString &&String) {
      if (s) free(s); 
      s = String.s;
      String.s = NULL;
      return *this;
    }

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!