Speicher am Heap in einer Funktion freigeben?



  • @hustbaer sagte in Speicher am Heap in einer Funktion freigeben?:

    Kann ich dich auch fragen. Du hast nämlich auch ziemlich offensichtlich an Meinungs-austausch kein Interesse.

    Wie kommen Sie zu diesem Schluss?

    Ich habe hier nicht öffentlich bekundet, dass mich die Beiträge anderer Nutzer weder interessieren, noch diese herab gewürdigt.



  • @john-0 Naja du gehst kaum auf Antworten ein sondern wiederholst immer bloss deine Predigt. Das macht einfach nicht den Eindruck dass du ernsthaft an einem Meinungsaustausch interessiert wärst. Bzw. halt nur in der Richtung dass du predigst und (vermutlich) hoffst dass wir die frohe Botschaft dankend annehmen.
    Und das ist halt uninteressant.

    Ich meine so ziemlich allen ist hier klar was SeppJ gemeint hat, und dass es stimmt. Du dagegen versteifst dich darauf seine Aussage anders zu interpretieren damit du predigen kannst.

    Oder auch im anderen Thread wo du bloss immer wieder wiederholt hast dass "diese Einstellung zu Exploits führt" (sinngemäss) ohne auf irgendwelche Argumente einzugehen oder ein Beispiel zu geben wie in dem Konkreten Fall etwas schief gehen könnte. Das ist kein Meinungsaustausch, da hört sich einfach jemand gerne reden.

    ps: Dass du hier fortwährend alle siezt, wo quasi alle anderen hier per-du schreiben, fügt sich auch schön in das Bild ein.



  • Dieser Beitrag wurde gelöscht!

  • Mod

    @Swordfish
    Lass mal gut sein, mit dem Offtopic. Hier und anderswo auch! @hustbaer redet sowieso nicht mehr mit dir und ich verstehe vollkommen warum.



  • @SeppJ sagte in Speicher am Heap in einer Funktion freigeben?:

    @hustbaer redet sowieso nicht mehr mit dir und ich verstehe vollkommen warum.

    Dann klär' mich bitte auf. Ich könnte mich nicht erinnern ihn irgendwo beleidigt oder schief angequatscht zu haben.


  • Mod

    @Swordfish sagte in Speicher am Heap in einer Funktion freigeben?:

    @SeppJ sagte in Speicher am Heap in einer Funktion freigeben?:

    @hustbaer redet sowieso nicht mehr mit dir und ich verstehe vollkommen warum.

    Dann klär' mich bitte auf. Ich könnte mich nicht erinnern ihn irgendwo beleidigt oder schief angequatscht zu haben.

    Ich weiß nicht, was mit dir passiert ist, aber in den letzten zwei bis drei Wochen ist ein großer Prozentsatz deiner Beiträge sehr trollig geworden. Teilweise sogar geradezu destruktiv. Es macht keinen Spaß, dich zu lesen.

    (Und komischerweise nur ein Teil deiner Beiträge. In anderen Threads bist du total vernünftig und hilfreich. Wie zwei verschiedene Leute)



  • @SeppJ Ja, ich weiß auch nicht. Seit dem neuen Forum sind kaum noch Leute online. Zumindest noch kaum wer von den "Alten Hasen". Dagegen ist der Anteil an den (erschreckend wenigen neuen Themen) der Bulls*** ist enorm gestiegen (zB der Thread in dem Du meinen Link zu "Real Programmers" gelöscht hast ... eine Datenbankanwendung in C oder C++? Hallo?? Herr de Sade lässt grüßen. Darauf war eben meine Meinung: Nimm Fortran.). Zudem treiben sich an den wenigen Aktiven immer mehr selbsternannte Oberlehrer ("wenn du ... hast du keine Ahnung") und/oder Trolle rum, auf die dann erschreckenderweise auch noch ernsthaft reagiert wird. Es ist einfach traurig.

    @SeppJ sagte in Speicher am Heap in einer Funktion freigeben?:

    In anderen Threads bist du total vernünftig und hilfreich. Wie zwei verschiedene Leute.

    Ja. Hm. Die Anzahl Threads in denen sinnvoll diskutiert wird ist ja auch nicht mehr besonders hoch. Und nein, ich empfinde Threads die darin enden daß irgendwelche Forum-N00bs ihre Meinung postulieren, nichts begründen und alle anderen doof nennen nicht sinnvoll.

    Aber danke für das Fremdbild.

    @SeppJ sagte in Speicher am Heap in einer Funktion freigeben?:

    Ich weiß nicht, was mit dir passiert ist [...]

    Wenn's Dich wirklich interessiert, kannst Du mir ja eine Mail schreiben. Ich nehme an, Mods sehen die Mail-Adresse.



  • @SeppJ Weiss nicht, @Swordfish gehört nicht zu den Usern auf die ich allergisch reagieren würde oder die ich grundsätzlich ignoriere. Ja, in letzter Zeit kamen etliche komische Beiträge. Mag auch sein dass wir uns hin und wieder gezofft haben, aber wenn ich mich nicht mehr daran erinnere kann es (für mich, subjektiv) nicht so wild gewesen sein.



  • @hustbaer sagte in Verständnis "const" pointer:

    Wieso eine Klasse pro NUMA-Knoten? Spätestens mit den PMR Allokatoren sollte das doch unnötig sein. Und auch davor funktionieren Stateful-Allokatoren, wenn sich der State auf z.B. einen shared_ptr<MyMemoryPool>, shared_ptr<NumaRegion> o.Ä. beschränkt und entsprechend mitkopiert wird.

    Interessant, leider ist es das erste Mal, dass ich davon lesen. Die letzten Wochen habe ich dazu genutzt nachzulesen woran das liegt. Ich habe hier die zweite Auflage von „The C++ Standard Library, Josuttis“ (die C++11 Ausgabe, der Autor ist im C++ Gremium) und da steht davon rein gar nichts drin. In der 4. Auflage von Stroustrups „Die C++ Programmiersprache“ findet sich nichts davon im Index, nichts davon in der Liste mit den Neuerungen bei C++11 und der Abschnitt bei den Allokatoren ist extrem kurz. Das sind nur ein paar Zeilen Code aus denen man entnehmen kann, dass sich bei den Allokatoren etwas fundamental geändert hat. Wozu gibt es Neuauflagen von Büchern, wenn sie absolut wichtige Details stiefmütterlich bis gar nicht behandeln. Am wenigsten verstehe ich das bei Josuttis Buch, weil dieses einen längeren Abschnitt über Allokatoren hat und im Prinzip das Thema ausreichend behandelt – nur leider auf dem Niveau von C++03. Muss man das bei dem ISO Normenausschusshintergrund des Autoren verstehen?

    Den angesprochenen NUMA-Allokator habe ich überarbeitet, und er funktioniert rudimentär mit std::vector. Allerdings fehlt noch ein passender Abgleich mit dem Default Allokator, ob auch wirklich alles notwendige dabei ist.

    P.S. Bei dem was ich momentan in C++ programmiere ist die Laufzeitumgebung noch auf C++11 festgelegt.



  • @john-0
    Nachdem der Standard-Allocator normalerweise stateless ist, wäre es vielleicht besser es mit einem Stateful Allocator zu vergleichen. Der einzige der mir gerade einfällt ist der Allocator der Boost.Pool Library: https://www.boost.org/doc/libs/1_68_0/libs/pool/doc/html/header/boost/pool/pool_alloc_hpp.html
    EDIT: Er, Mist, doch nix. Die Boost.Pool Allokatoren sind auch stateless 😞
    Aber der da ist stateful: https://www.boost.org/doc/libs/1_68_0/boost/interprocess/allocators/node_allocator.hpp
    /EDIT

    Der Knackpunkt sind vermutlich das rebind Template sowie der Template-Conversion-Ctor mit dem man einen MyAllocator<Bar> aus einem MyAllocator<Foo> machen kann, sowie evtl. die Vergleichsoperatoren (== und !=).



  • Dieser Beitrag wurde gelöscht!


  • @hustbaer sagte in Speicher am Heap in einer Funktion freigeben?:

    Der Knackpunkt sind vermutlich das rebind Template sowie der Template-Conversion-Ctor mit dem man einen MyAllocator<Bar> aus einem MyAllocator<Foo> machen kann, sowie evtl. die Vergleichsoperatoren (== und !=).

    Das Rebind Template spielt ab C++11 im Allocator Code dank der allocator_traits keinerlei Rolle mehr, das wird automatisch durch die allocator_traits geliefert. Wichtig sind die diversen anderen Sachen, die in den allocator_traits definiert werden.



  • @john-0 Ah, wieder was gelernt. Danke für die Richtigstellung 🙂


Anmelden zum Antworten