Seite 165 von 202 ErsteErste ... 65115155161162163164165166167168169175 ... LetzteLetzte
Ergebnis 2.461 bis 2.475 von 3026

Thema: [Programmiererstammtisch] "Zum ächzenden Compiler"

  1. #2461
    ❦ Ser Tira Tyrell ❦
    Registriert seit
    03.07.11
    Ort
    Westeros
    Beiträge
    18.958
    Zitat Zitat von Harleen Beitrag anzeigen
    Wie ist denn savedMembers deklariert?
    savedMembers muss nur eine Untermenge der Klassenmember enthalten, die wirklich resettet werden müssen. Z.B.

    Code:
    class Example {
    public:
        inline void Set() { savedMembers = *this; }
        inline void Reset() { *this = savedMembers; }    
        //...
    protected:
        double data1 = 0;
        double data2 = 0;
        double noresetData1 = 0;
        double noresetData2 = 0;
        //...
        
        //Data Reset Tools:
        struct ResetData {
            double data1 = 0;
            double data2 = 0;
            ResetData& operator=(const Example& example) {
                data1 = example.data1;
                data2 = example.data2;
                return *this;
            }
        };
        Example& operator(const ResetData & reset) {
            data1 = reset.data1;
            data2 = reset.data2;
            return *this;
        }
        ResetData savedMembers;
    };
    Tritt dem REICH bei und werde Teil von etwas Großem!


    Achtung Spoiler:
    PHP-Code:
                    ....77$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$..                   
                    ....
    DMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMD..                   
                    ..
    MM=:::::::::::::::::::::::::::::::::::~~=MM                   
                
    ... =+77~~~~~:::::::::::~::::::::::::~:::::~~~=II== . .             
               . . ,
    NM~:~~~~~::::::::,,::::::::~~::::,:::::~::~:~NM, .              
               .. .,
    MM~=~~:::::,::::::,:II~::::?I~,:::::::::~~~~~MM,...             
                   ,
    MM~~~~:::==~:::::,::==::,::==:,,::::::::::~:~MM, ..             
                .  ,
    MM:~:::::??=:::::::::::::,:::,,::::::::::::~:MM,     . . ....   
                .  ,
    MM:~::::::~,:::::::::::,:::DMMM?:::~I?:::::~:MM,.=MMMM.    . .  
                .  ,
    MM:~::,,:,:::::::::::::,+MNI++?ZND,,:::,:::~:MMNMZ+++?NM:. ...  
      ,  .. .    ..:
    MM:~::::::::::::::::::::=MM???+OMD::::::~::~~MMMMO????MM:   .   
      
    MMMMMMMMM  ..,MM:~::::::::::::::??::::=MM????++IMZ,::::::~~MMI??????MM:   .   
      
    MMOZZZZMM+?, ,MM:~::::::::::::::==:,::=MM???????OI???????IIZ$?++????MM:   .   
    MMZZ7I+Z7MMI?IMM:~:::::::~~~:::::,::::=MM????????I$$7$7$7$$+II?I????MM:   .   
     .
    MMMMO????MMMMMMM:~::,::::+I~:,::::::::=MM????????????????????++?II??MM:  ...  
    . . 
    MMMMD+II+ZMMMM:~::::::::~,::::::?7OMO??????+?+?????I?????????I???+?+DMM,.   
    ..  
    MMNMM?+??OMMMM:~::::~:::::::::,~??8MO???????????+?++?????++??+II????OMM ..  
    . .  .:
    NMMM??++IMM:~::+I?:::,:::::::,:ZM8=+I???: ,MO?+?????????, ~MM?I??OMM .   
      ...   .
    MMMMMMNMM:~::::::::::,::::::,$MO+??+??ZMMMO?+??I+?MN+?NMNMM+???OMM.    
      ...  ..??
    I?ZMMMM:~:::::,:::::~~=::::ZMO+?++++IOZO7????+??ZZ?+ZZZZZ++++OMM...  
      ....  .... 
    IMMMM:~::::,::::::=I?~:::$MO+?==~=+???????+???????+??+?====ZMM...  
               . . :
    MM~~~~:::?I~::::::,:::$MO?I~====?IMO????7MN????DMO??====ZMM...  
                  ..
    MM~~~::::==::::::::::,=?I$Z+++++?IMDZZZ$OMMZZZZNMO?+++$$+?+...  
                   :
    MM~~~~=~::::::::::::::::+MM???????MMMMMMMMMMMMMMMOI??+MM~. ...  
                 
    7MMMMMM=~:~~~~~~~~~~~~~~~~:~::NMI+??????????++?+?++???+MM........  
               ::?
    8O8OOO?==+++++==++++=+++??+==NM7II$I7I7I7II7II77III7I7$$ .        
               
    MM$+I???+MMMMMMMMMMMMMNMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMM. ..        
               
    NN7++??MMMM?.,MM7?+?7MM....... ...MM7++?IMM, +MM+???8MI..  ..        
               
    MMZ777$NMII~ .MMZ$7$7I+, . .     .?7I$77OMM..:I?7$$$I?=.             
               
    NMMMMMMMM. ..:MMMMMMI   . .      ,. IMMMMMM~ ,..MMMM: ,. 

  2. #2462
    Süß und knuddlig Avatar von Schlumpf
    Registriert seit
    03.11.13
    Beiträge
    7.968
    Und sowas macht man? Das hab ich ja noch nie gesehen. Den reset value in einem objekt was man selbst resetten möchte zu speichern scheint mir etwas komisch Emoticon: kratz
    Meine Liste:
    1. K
    2. T
    3. V

  3. #2463
    ❦ Ser Tira Tyrell ❦
    Registriert seit
    03.07.11
    Ort
    Westeros
    Beiträge
    18.958
    Nur das Objekt an sich muss resettet werden. savedMembers ist nur ein Hilfsobjekt.
    Angenommen die Member eines Objekts vom Typ Example werden in einer innern und einer äußeren Schleife geändert. Dann kannst du die Member, die in der inneren Schleife geändert wurden, für die Berechnungen in der äußeren Schleife wieder resetten und danach für den nächsten Durchgang neu setten. Dadurch haben die Änderungen in der inneren Schleife keine ungewollten Auswirkungen auf die äußere Schleife.
    Tritt dem REICH bei und werde Teil von etwas Großem!


    Achtung Spoiler:
    PHP-Code:
                    ....77$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$..                   
                    ....
    DMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMD..                   
                    ..
    MM=:::::::::::::::::::::::::::::::::::~~=MM                   
                
    ... =+77~~~~~:::::::::::~::::::::::::~:::::~~~=II== . .             
               . . ,
    NM~:~~~~~::::::::,,::::::::~~::::,:::::~::~:~NM, .              
               .. .,
    MM~=~~:::::,::::::,:II~::::?I~,:::::::::~~~~~MM,...             
                   ,
    MM~~~~:::==~:::::,::==::,::==:,,::::::::::~:~MM, ..             
                .  ,
    MM:~:::::??=:::::::::::::,:::,,::::::::::::~:MM,     . . ....   
                .  ,
    MM:~::::::~,:::::::::::,:::DMMM?:::~I?:::::~:MM,.=MMMM.    . .  
                .  ,
    MM:~::,,:,:::::::::::::,+MNI++?ZND,,:::,:::~:MMNMZ+++?NM:. ...  
      ,  .. .    ..:
    MM:~::::::::::::::::::::=MM???+OMD::::::~::~~MMMMO????MM:   .   
      
    MMMMMMMMM  ..,MM:~::::::::::::::??::::=MM????++IMZ,::::::~~MMI??????MM:   .   
      
    MMOZZZZMM+?, ,MM:~::::::::::::::==:,::=MM???????OI???????IIZ$?++????MM:   .   
    MMZZ7I+Z7MMI?IMM:~:::::::~~~:::::,::::=MM????????I$$7$7$7$$+II?I????MM:   .   
     .
    MMMMO????MMMMMMM:~::,::::+I~:,::::::::=MM????????????????????++?II??MM:  ...  
    . . 
    MMMMD+II+ZMMMM:~::::::::~,::::::?7OMO??????+?+?????I?????????I???+?+DMM,.   
    ..  
    MMNMM?+??OMMMM:~::::~:::::::::,~??8MO???????????+?++?????++??+II????OMM ..  
    . .  .:
    NMMM??++IMM:~::+I?:::,:::::::,:ZM8=+I???: ,MO?+?????????, ~MM?I??OMM .   
      ...   .
    MMMMMMNMM:~::::::::::,::::::,$MO+??+??ZMMMO?+??I+?MN+?NMNMM+???OMM.    
      ...  ..??
    I?ZMMMM:~:::::,:::::~~=::::ZMO+?++++IOZO7????+??ZZ?+ZZZZZ++++OMM...  
      ....  .... 
    IMMMM:~::::,::::::=I?~:::$MO+?==~=+???????+???????+??+?====ZMM...  
               . . :
    MM~~~~:::?I~::::::,:::$MO?I~====?IMO????7MN????DMO??====ZMM...  
                  ..
    MM~~~::::==::::::::::,=?I$Z+++++?IMDZZZ$OMMZZZZNMO?+++$$+?+...  
                   :
    MM~~~~=~::::::::::::::::+MM???????MMMMMMMMMMMMMMMOI??+MM~. ...  
                 
    7MMMMMM=~:~~~~~~~~~~~~~~~~:~::NMI+??????????++?+?++???+MM........  
               ::?
    8O8OOO?==+++++==++++=+++??+==NM7II$I7I7I7II7II77III7I7$$ .        
               
    MM$+I???+MMMMMMMMMMMMMNMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMM. ..        
               
    NN7++??MMMM?.,MM7?+?7MM....... ...MM7++?IMM, +MM+???8MI..  ..        
               
    MMZ777$NMII~ .MMZ$7$7I+, . .     .?7I$77OMM..:I?7$$$I?=.             
               
    NMMMMMMMM. ..:MMMMMMI   . .      ,. IMMMMMM~ ,..MMMM: ,. 

  4. #2464
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Das ist zu unflexibel. Angenommen, du hättest eine zweite Berechnung, wo auch, ähnlich in deinem Beispiel, ein Reset nötig/sinnvoll wäre, aber es soll nicht alles resettet werden sondern nur bestimmte oder andere Atributte. Kann man nicht machen, da der Benutzer der Klasse keine Kontrolle darüber hat.
    Das ist eine Folge davon, SRP zu verletzen, wonach eben eine Klasse nur einen Verantwortungsbereich haben sollte (deine Beispielklasse ist zusätzlich zu dem, was sie eigentlich machen sollte, für die Reset-Logik verantwortlich). Lieber soll der Aufrufer dafür verantwortlich sein.

  5. #2465
    Süß und knuddlig Avatar von Schlumpf
    Registriert seit
    03.11.13
    Beiträge
    7.968
    Zitat Zitat von Tiramisu Beitrag anzeigen
    Nur das Objekt an sich muss resettet werden. savedMembers ist nur ein Hilfsobjekt.
    Angenommen die Member eines Objekts vom Typ Example werden in einer innern und einer äußeren Schleife geändert. Dann kannst du die Member, die in der inneren Schleife geändert wurden, für die Berechnungen in der äußeren Schleife wieder resetten und danach für den nächsten Durchgang neu setten. Dadurch haben die Änderungen in der inneren Schleife keine ungewollten Auswirkungen auf die äußere Schleife.
    Ich weiß schon was du machst, mir scheint die Idee im allgemeinen eher komisch (siehe zb was alpha schreibt) und wollte wissen ob diese Art der Programmierung irgendwo praktisch angewandt bzw. gelehrt wird.
    Meine Liste:
    1. K
    2. T
    3. V

  6. #2466
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von Schlumpf Beitrag anzeigen
    und wollte wissen ob diese Art der Programmierung irgendwo praktisch angewandt bzw. gelehrt wird.
    Definitiv ja zum ersten (nur nicht unbedingt das Resetbeispiel, aber ähnlicher Unsinn), und ich befürchte ja zum zweiten.

  7. #2467
    ❦ Ser Tira Tyrell ❦
    Registriert seit
    03.07.11
    Ort
    Westeros
    Beiträge
    18.958
    Zitat Zitat von alpha civ Beitrag anzeigen
    Das ist zu unflexibel. Angenommen, du hättest eine zweite Berechnung, wo auch, ähnlich in deinem Beispiel, ein Reset nötig/sinnvoll wäre, aber es soll nicht alles resettet werden sondern nur bestimmte oder andere Atributte. Kann man nicht machen, da der Benutzer der Klasse keine Kontrolle darüber hat.
    Das ist eine Folge davon, SRP zu verletzen, wonach eben eine Klasse nur einen Verantwortungsbereich haben sollte (deine Beispielklasse ist zusätzlich zu dem, was sie eigentlich machen sollte, für die Reset-Logik verantwortlich). Lieber soll der Aufrufer dafür verantwortlich sein.
    Ich nutze diese Vorlagen für Resets natürlich nur, wenn es keine andere sinnvolle Resets gibt. Dem User solche Resets zu überlassen kann fehleranfällig sein, vor allem wenn viele Member resettet werden müssen. Aber ich wollte nicht zu sehr in dieses Thema einsteigen. Mir ging es eher um ein Beispiel dafür, wann man *this verwenden kann.
    Tritt dem REICH bei und werde Teil von etwas Großem!


    Achtung Spoiler:
    PHP-Code:
                    ....77$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$..                   
                    ....
    DMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMD..                   
                    ..
    MM=:::::::::::::::::::::::::::::::::::~~=MM                   
                
    ... =+77~~~~~:::::::::::~::::::::::::~:::::~~~=II== . .             
               . . ,
    NM~:~~~~~::::::::,,::::::::~~::::,:::::~::~:~NM, .              
               .. .,
    MM~=~~:::::,::::::,:II~::::?I~,:::::::::~~~~~MM,...             
                   ,
    MM~~~~:::==~:::::,::==::,::==:,,::::::::::~:~MM, ..             
                .  ,
    MM:~:::::??=:::::::::::::,:::,,::::::::::::~:MM,     . . ....   
                .  ,
    MM:~::::::~,:::::::::::,:::DMMM?:::~I?:::::~:MM,.=MMMM.    . .  
                .  ,
    MM:~::,,:,:::::::::::::,+MNI++?ZND,,:::,:::~:MMNMZ+++?NM:. ...  
      ,  .. .    ..:
    MM:~::::::::::::::::::::=MM???+OMD::::::~::~~MMMMO????MM:   .   
      
    MMMMMMMMM  ..,MM:~::::::::::::::??::::=MM????++IMZ,::::::~~MMI??????MM:   .   
      
    MMOZZZZMM+?, ,MM:~::::::::::::::==:,::=MM???????OI???????IIZ$?++????MM:   .   
    MMZZ7I+Z7MMI?IMM:~:::::::~~~:::::,::::=MM????????I$$7$7$7$$+II?I????MM:   .   
     .
    MMMMO????MMMMMMM:~::,::::+I~:,::::::::=MM????????????????????++?II??MM:  ...  
    . . 
    MMMMD+II+ZMMMM:~::::::::~,::::::?7OMO??????+?+?????I?????????I???+?+DMM,.   
    ..  
    MMNMM?+??OMMMM:~::::~:::::::::,~??8MO???????????+?++?????++??+II????OMM ..  
    . .  .:
    NMMM??++IMM:~::+I?:::,:::::::,:ZM8=+I???: ,MO?+?????????, ~MM?I??OMM .   
      ...   .
    MMMMMMNMM:~::::::::::,::::::,$MO+??+??ZMMMO?+??I+?MN+?NMNMM+???OMM.    
      ...  ..??
    I?ZMMMM:~:::::,:::::~~=::::ZMO+?++++IOZO7????+??ZZ?+ZZZZZ++++OMM...  
      ....  .... 
    IMMMM:~::::,::::::=I?~:::$MO+?==~=+???????+???????+??+?====ZMM...  
               . . :
    MM~~~~:::?I~::::::,:::$MO?I~====?IMO????7MN????DMO??====ZMM...  
                  ..
    MM~~~::::==::::::::::,=?I$Z+++++?IMDZZZ$OMMZZZZNMO?+++$$+?+...  
                   :
    MM~~~~=~::::::::::::::::+MM???????MMMMMMMMMMMMMMMOI??+MM~. ...  
                 
    7MMMMMM=~:~~~~~~~~~~~~~~~~:~::NMI+??????????++?+?++???+MM........  
               ::?
    8O8OOO?==+++++==++++=+++??+==NM7II$I7I7I7II7II77III7I7$$ .        
               
    MM$+I???+MMMMMMMMMMMMMNMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMM. ..        
               
    NN7++??MMMM?.,MM7?+?7MM....... ...MM7++?IMM, +MM+???8MI..  ..        
               
    MMZ777$NMII~ .MMZ$7$7I+, . .     .?7I$77OMM..:I?7$$$I?=.             
               
    NMMMMMMMM. ..:MMMMMMI   . .      ,. IMMMMMM~ ,..MMMM: ,. 

  8. #2468
    Süß und knuddlig Avatar von Schlumpf
    Registriert seit
    03.11.13
    Beiträge
    7.968
    Da Zulan von this-> geredet hat, war also dein ganzer Exkurs mal wieder sinnlos.
    Meine Liste:
    1. K
    2. T
    3. V

  9. #2469
    Say My Name Avatar von Zulan
    Registriert seit
    13.03.08
    Beiträge
    8.904
    Zitat Zitat von Schlumpf Beitrag anzeigen
    Und sowas macht man?
    Nein, bitte nicht!

  10. #2470
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von Zulan Beitrag anzeigen
    Nein, bitte nicht!
    Auch geprägt von solchen Konstruktionen?

  11. #2471
    Süß und knuddlig Avatar von Schlumpf
    Registriert seit
    03.11.13
    Beiträge
    7.968
    Zitat Zitat von Zulan Beitrag anzeigen
    Nein, bitte nicht!
    Keine Sorge.
    Meine Liste:
    1. K
    2. T
    3. V

  12. #2472
    Registrierter Uses Avatar von fuchs87
    Registriert seit
    26.08.09
    Beiträge
    4.436
    Tiramisetter-Pattern der Gang of One. Wieder was gelernt
    #KriegIstFrieden
    #FreiheitIstSklaverei
    #UnwissenheitIstStärke

  13. #2473
    Pfeffersack Avatar von slowcar
    Registriert seit
    04.01.06
    Ort
    hh
    Beiträge
    18.228
    Irgendwer muss den Code ja so auf Stackoverflow gestellt haben, vielleicht ist Tiramisu unschuldig?

    Sachlicher: Offzielle Code-Patterns haben nicht immer einen Sinn, meistens aber schon. In jedem Fall haben sich viele schlaue Leute Gedanken darüber gemacht, und um sich da was besseres auszudenken muss man meistens etwas Nachdenken (und liegt dann in 99% der Fälle falsch - und auch wenn wir gerne das 1% wären, tja...)

  14. #2474
    Süß und knuddlig Avatar von Schlumpf
    Registriert seit
    03.11.13
    Beiträge
    7.968
    Manchmal steht man einfach aufm Schlauch. Wundere mich seit 2 Tagen warum meine Sachen nicht funktionieren, bis ich mal schaue was vom Core zum speicher geschrieben wird und Überraschung: Gar nichts. Hab ich einfach mal komplett den Cache vergessen.
    Meine Liste:
    1. K
    2. T
    3. V

  15. #2475
    Wolf im Krokodilpelz Avatar von Mongke Khan
    Registriert seit
    25.06.11
    Ort
    KA
    Beiträge
    19.057
    Nennt man das dann Cache Miss?

Seite 165 von 202 ErsteErste ... 65115155161162163164165166167168169175 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •