1500 struct`s direkt in .cpp in vector schreiben



  • Ok, jetzt verstehe ich das mit dem end. thx

    im no_find steht fest als ant1 = "FRAGE NICHT GEFUNDEN"
    da er ja woanderst dann die gefunden Antworten ausgibt.



  • Hmm. OK. Kann man so machen. (Auch wenn ichs ein wenig suspekt finde, aber ist wahrscheinlich einfacher, als etwas anderes..)



  • drakon schrieb:

    Hmm. OK. Kann man so machen. (Auch wenn ichs ein wenig suspekt finde, aber ist wahrscheinlich einfacher, als etwas anderes..)

    find ich allg. nicht.. ich würd ne const-ref zurückgeben(man will ja nix in den antworten rumschreiben und es scheint ein element der klasse zu sein)

    und in der fkt würd ich nicht auf empty prüfen sondern halt außerhalb... ist nicht schwerer aber wesentlich übersichtlicher...

    bb



  • unskilled schrieb:

    drakon schrieb:

    Hmm. OK. Kann man so machen. (Auch wenn ichs ein wenig suspekt finde, aber ist wahrscheinlich einfacher, als etwas anderes..)

    find ich allg. nicht.. ich würd ne const-ref zurückgeben(man will ja nix in den antworten rumschreiben und es scheint ein element der klasse zu sein)

    Das verstehe ich nicht ganz. Was willst du wo zurückgeben?

    und in der fkt würd ich nicht auf empty prüfen sondern halt außerhalb... ist nicht schwerer aber wesentlich übersichtlicher...

    Darauf wollte ich hinaus und würde es wahrscheinlich auch eher so lösen, aber ich denke mir, dass er da so etwas, wie output_answers() hat und dann wird halt, wenn nix gefunden wird der Text ausgegeben, ohne auf noch irgendetwas zu prüfen oder so. Ist natürlich nicht sehr sauber, wenn man dann z.B im Code mal prüfen möchte, ob jetzt was gefunden worden ist, oder nicht. Dann muss man das erste Element der Liste nehmen und da mittels String Vergleich etwas überprüfen. Finde ich sehr unschön. Aber naja.. Wenn das andere genau seine Anforderungen erfüllt, warum nicht?
    Das ganze schöner zu machen ist nicht direkt schwerer, oder komplizierter, aber sicher ein wenig mehr Aufwand, den man nicht ubedingt haben will, wenn man nur ein paar Anforderungen zu erfüllen hat.



  • vector<Frage> ASK::search(const string &suche_frage) //const damit der User weiss, dass da sicher nichts verändert wird 
    {
      list_answers.clear(); 
    
    //...
    
      return list_answers; 
    }
    

    legt den verdacht nahe, dass list_answers vom typ vector<Frage> ist und ein member der klasse ASK ist...
    ich fänds bequem, wenn ich selbst entscheiden könnte, ob der rückgabewert kopiert werden soll oder nicht:
    std::copy(ask.search("asd").begin(), ask.search("asd").end(), std::ostream_iterator<Frage>(std::cout, "\r\n"));
    (grad ein wenig ein doofes bsp., aber allg. sehe ich keinen grund, etwas, was so und so nie verändert wird, per value zurückzugeben - oder siehst du die notwendigkeit, diesen wert jemals verändern zu wollen?

    bb



  • Hmm. Ok, jetzt sehe ich, was du meinst.
    Ja, wenn das sowieso eine Member der Klasse ist und man da die Antworten reinschreibt, dann liegt es nahe, dass man eine const Referenz auf das interne Objekt zurückgibt.
    Eine andere Frage wäre dann aber natürlich, ob es Sinn macht (abgesehen von Optimierungsgedanken) die Liste intern zu halten.


Anmelden zum Antworten