Welcher Code ist eleganter / schneller



  • Hallo Leute,

    ich habe gerade meine neue Software fertig gestellt und gehe den Quellcode im nachereinen durch um alles auf Schnelligkeit und äußerliches zu perfektionieren. Nun habe ich unter anderen folgenden Quelltext:

    CT1->Clear();
    CT2->Clear();
    CT1->Items = Form1->CDeleteTable->Items;
    CT2->Items = Form1->CDeleteTable->Items;
    

    Anstatt einer direkten Zuweisung, könnte ich jedoch auch die Methode Assign verwenden.

    Weiß irgendwer, welche Lösung eleganter, bzw. schneller ist.

    Ich weiß das es einen so gut wie nicht messbaren Unterscheid außmachen wird, dennoch interessiert es mich.

    mark



  • es gehoert zum guten OOP-Stil, Membervariablen nie direkt anzusprechen, sondern nur ueber get/set (oder in deinem Fall halt "assign"). wenn die Funktionen inline sind (was solche Funktionen immer sollten), gibts dabei keinen Geschwindigkeitsunterschied 🙂



  • Hallo,

    danke für den Typ, daran muss ich mich sowiso noch gewöhnen, da ich sehr gerne auf die Eigenschaften selbst zugreife, bzw. eigene Eigenschaften immer als public deklarieren. Ist halt Angewohnheit und sowas wird man nicht so schnell mehr los.

    Mark



  • hallo,

    mark schrieb: "sehr gerne auf die Eigenschaften selbst zugreife, bzw. eigene Eigenschaften immer als public deklarieren"

    das ist doch oop mäßig auch total in ordnung, nur aus diesem grund sind u. a. die propertys ja eingeführt worden. die property greifen ja auf die privaten member über so genannte get/set methoden zu. und alles was im objectinspector zu sehen ist sind auch alles propertys. also propertys sollten eigentlich immer public/published deklariert sein, und ein zugriff auf member über propertys entspricht absolut den oop-regeln, eigne dir hier nichts unötig falsches an...

    mfg
    murph



  • Man muß nur aufpassen:

    C++ kennt keine Properties, der Borland C++ Builder schon.

    D.h. in Standard-C++ sind public-Member für Daten tabu, unter Borland kann man Properties mit public get/set-Methoden und privaten Daten einsetzen - aber das ist halt absolut Borland spezifisch und funzt sonst nirgends.


Anmelden zum Antworten