Aussehen
Suche Einloggen
[c] [meta] [fefe] [erp]

5445 Ergebnisse

[0] ... [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] ... [272]
  • [l] Felix Thu, 01 May 2025 10:39:45 GMT Nr. 155249
    >>155247
    +15 Rubel
  • [l] Felix Thu, 01 May 2025 10:33:47 GMT Nr. 155247
    >>155243
    Ja, da lockt sie - und wenn Felix dann hört, dass sie auch gerne zu hause bleibt & sich um Haushalt und Kinder kümmert, ist er gleich noch mehr Feuer und Flamme.
    Wenn dann aber rauskommt, dass sie es für selbstverständlich hält, dass sie im Monat so 3-4 tsd Euro Taschengeld bekommt, dann hat sich die Sache doch gleich wieder erledigt ;)
  • [l] Felix Thu, 01 May 2025 10:05:02 GMT Nr. 155246
    >>155243
    drum frägt er ja, du Dummkopf
  • [l] Felix Thu, 01 May 2025 10:01:31 GMT Nr. 155245
    >Hilfe, meine illegale Einreise wird geahndet, ich möchte lieber nach Deutschland :(
  • [l] Felix Thu, 01 May 2025 10:00:06 GMT Nr. 155244
    JPG 900×900 196.4k
    Hat Felix es auch schon bemerkt? Heute ist schon wieder so ein Drecksfeiertag, das heißt, heute muss Felix wieder fasten.
  • [l] Felix Thu, 01 May 2025 09:48:46 GMT Nr. 155242
    Warum machen wir keinen Rohstoffstoffdeal?
    Die ripppieren uns meer aus, die Amis haben genug Rohstoffe und notfalls überfallen sie ein Land - wir lassen das andere machen, aber wo ist unser Gewinn? Die niedlichen Mädchen aus der Ukraine sind alle in Polen. Was kriegen wir?
  • [l] Felix Thu, 01 May 2025 09:11:20 GMT Nr. 155239
    >>155225
    >Automatische Übersetzung ist ganz brauchbar.
    Wenn man kein Spanisch spricht und entsprechend nur den Text versteht, vielleicht.
    Ansonsten: No hablo espaniol!
  • [l] Felix Thu, 01 May 2025 08:18:23 GMT Nr. 155238
    Und nicht zuletzt könntest du natürlich auch einfach keinen Fick geben und alles auf den Heap packen. Sollte man auch noch erwähnen. Manchmal ist das völlig in Ordnung. Nicht alles muss immer superhochgeschwindigkeitsoptimiert sein bis auf das allerletzte Prozent. Oft ist es das einfach nicht wert. Optimier die Stellen, wo es sich lohnt. und für den Rest: KISS. Es wird immer noch 1000x schneller sein als jedes Web-Geraffel (oder C#... wer C#, Java oder irgendwas anderes mit Garbage Collection für Spieleprogrammierung benutzt, hat eh nicht alle Tassen im Schrank. Das ist das eigentliche Problem bei Unity. Es ist halt eine Spieleengine für Kackb00ns und man wollte es halt deppensicher machen. Die Deppensicherheit erkauft man sich aber eben mit schlechter Performanz. Kann man nix machen. Man kann nicht alles haben. Das hat auch nichts mit Vererbung zu tun. Felix kann Entity-Component außerdem langsam nicht mehr hören.)
  • [l] Felix Thu, 01 May 2025 08:03:15 GMT Nr. 155236
    >>155227
    Ich bin mir nicht ganz sicher, ob ich dein Dings da verstehe. Sieht auf den ersten Blick so aus, als hättest du da im Wesentlichen eine union aus beiden Typen gebildet und damit dafür gesorgt, dass beide dasselbe Speicherlayout haben, also im Grunde hast du den Basistyp einfach nur gepadded. Kann man natürlich machen, aber das Problem ist, dass man dann vorab wissen muss, wie groß der größte abgeleitete Typ ist, und dann alle (Arrays aus) Basistypen die maximale Größe haben, also u.U. ziemlich viel verschwendeter Speicher und nicht gerade Cache-effizient (was dir bestimmt furchtbar wichtig ist).

    Aus meiner Sicht ist das, was du da machst, wenn ich es richtig verstanden habe, einfach nur unnötig kompliziert. Es löst das eigentliche Problem auch nicht, aber wir bewegen uns langsam in die richtige Richtung: Dein Problem ist, dass du einfach nicht unterscheiden kannst zwischen der abstrakten Repräsentation und der tatsächlichen Allokation der Daten im Speicher. Daher auch meine ursprüngliche Vermutung, dass C oder C++ deine Erstsprache waren, denn dieses Defizit habe ich bei betroffenen Personen schon häufiger beobachtet.

    Dein Problem ist weiterhin, dass du bei deinem ursprünglichen Beispiel zwei Dinge vermischt, die einfach nicht zusammengehören:

    0. Low-Level-Konstrukte (C-Arrays)
    1. High-Level-Konstrukte (C++-Klassen mit Vererbung)

    Aus meiner Sicht hast du folgende Wahl:

    0. Entweder du nimmst C-Arrays und verzichtest auf C++-Features. Das wäre dann die Low-Level-C-Lösung.
    1. Oder du gehst voll C++ und löst das mit Iteratoren und allem Pipapo. Das wäre dann die High-Level-C++-Lösung.
    (2. Du bastelst dir selbst etwas, das für deinen speziellen Anwendungsfall passt, siehe unten)

    Beide haben ihre Vor- und Nachteile, aber du kannst nicht beides haben. Beides zu vermischen ist tödlich. Das ist in etwa so, als ob du ein C++-Objekt mit dem C++-Operator new anlegst und anschließend mit der C-Funktion free zerstörst. Es wird dir um die Ohren fliegen.

    Ich wollte auch noch mal hierzu etwas sagen, weil es vielleicht falsch rüberkam:
    >>154290
    >Korrekterweise würde man einen Container von Base-Zeigern übergeben würg! und Probleme werden keine gehabt.
    >>154893
    <würg!
    >>154893
    <Lass mich raten: Du hast statt normalen Arrays dann Zeiger-Arrays (oder Container, die dann Zeiger benutzen) genommen?
    >>154894
    >Sowas macht Felix automatisch in solchen Fällen ohne drüber nachzudenken.

    Bitte stell dir das jetzt nicht so vor, als ob Felix Code voll wäre von Zeiger-Arrays. Eigentlich hat Felix sowas nie in seinem Code. Das kam hier einfach nur daher, dass dein Beispiel ziemlich konstruiert ist. In der Praxis würde Felix das nie so machen.

    Folgende Beobachtungen:
    0. Fast immer wenn man über eine Liste/Array von irgendwas iteriert, macht man eine Sache pro Element. Das heißt, man macht sich eine Funktion, die genau einen Zeiger als Parameter hat. Das Iterieren über die Elemente machte man außerhalb dieser Funktion. Die Funktion braucht gar nicht zu wissen, wie und wo das Element allokiert sind, also ob es z.B. in einem Array allokiert sind oder in einer verketteten Liste, auf dem Heap oder auf dem Stack. Sie braucht auch nicht den genauen Typ zu kennen. Sie bekommt nur den Zeiger.
    Vollständigen Text anzeigen
  • [l] Die Ukraine und die USA unterzeichnen einen Rohstoffdeal.Auf ... Effe ## Mod Thu, 01 May 2025 07:56:32 GMT Nr. 155234
    JPG 1920×1080 270.0k
    Die Ukraine und die USA unterzeichnen einen Rohstoffdeal [0].

    Auf der einen Seite erschütternd, dass Erpressung und Bullying in der Praxis funktionieren.

    Auf der anderen Seite ist Genosse Krasnow mit im Wesentlichen keiner einzigen seiner Forderungen durchgekommen. Der Zugang wird nicht exklusiv sondern nur "privilegiert", bisherige Waffenlieferungen unter Biden zählen nicht als Einzahlung der USA, und die Ukraine muss keine ihrer staatlichen Infrastrukturfirmen privatisieren und verkaufen.

    Trotzdem ein furchtbares Signal. Aber was sollen sie machen, die Ukrainer?

    [0] https://www.zeit.de/politik/ausland/2025-04/ukraine-und-usa-unterzeichnen-rohstoffabkommen

    https://blog.fefe.de/?ts=96ede8d1
  • [l] Felix Thu, 01 May 2025 07:09:29 GMT Nr. 155233
    >>155206
    Einfach nicht in so einem Dritte-Welt-Land wie Deutschland leben? Hier in der Schweiz sind die Zähler kostenlos.
  • [l] Felix Thu, 01 May 2025 01:17:35 GMT Nr. 155232 SÄGE
    >>154996
    <noch kein favicon
    >2025
    >noch einen grafischen Brausierer statt eines Textbrausierers verwenden
  • [l] Zuse ## Admin Thu, 01 May 2025 00:11:24 GMT Nr. 155231
    Ich meine, das muss man sich mal klar machen: Du bist gebannt, kommst mit anderer IP wieder und fragst dann noch, warum du nervst.
  • [l] Zuse ## Admin Thu, 01 May 2025 00:00:29 GMT Nr. 155229
    Der läuft in 10 Jahren aus. Warum auch nicht? An IP-Adressen scheint es dir ja nicht zu mangeln.
  • [l] Felix Wed, 30 Apr 2025 23:54:21 GMT Nr. 155228
    >>155227
    >Tatsächlich nicht, es war zuerst eine Art von Shell-Skript und dann BASIC.
    Das ist ja noch schlimmer. Mein Beileid.
  • [l] Felix Wed, 30 Apr 2025 23:45:20 GMT Nr. 155227
    >>155146
    Oke kühl.

    >>155150
    >Wo da das Problem sein soll, hast du immer noch nicht erklärt. Dein Blabla ist übrigens in der Tat ziemlich ermüdend.
    Naja, eigentlich ging es Felix zuletzt hauptsächlich um das:
    >Vererbung hat immer noch nichts mit Arrays zu tun.
    Felix denkt/hofft, er hat seinen Kram (Inkompatibilität von Werte-Arrays und Vererbung im OOP-Stil) im Faden jetzt erklärt.

    >Du hast mit C oder C++ als Erstsprache programmieren gelernt?
    Tatsächlich nicht, es war zuerst eine Art von Shell-Skript und dann BASIC.

    >>155151
    >Entweder Pedal ans Metall
    >Oder polymorphe Rube-Goldberg-Klassen
    Felix stimmt zu. Felix ist noch einmal in sich gegangen und findet eher merkwürdig, dass _alle_ Sprachen so ab Mitte der 80er/Anfang der 90er lieber die Entscheidung pro "Erweiterbarkeit zur Laufzeit" getroffen haben, vielleicht auch, weil es die hippe Sache damals war. Das ist dann noch einmal Anfang-Mitte der 2000er mit "Plugin-Systemen" aufgewärmt worden.

    >>155207
    Wenn man mit dem Referenze-Wald leben kann, wäre der Hauptgrund dann wohl Performanz (wie sie es im Java JEP auch geschrieben haben), weswegen auch Unity in den letzten Jahren mit ihrem C#-Kompiler auf den DOD-Zug mit ihrem NativeContainer/NativeArray gesprungen ist, und ihr Entity-Component-System (statt Vererbung) damit gebastelt haben:
    https://www.youtube.com/watch?v=EGKmNQL9CcM&t=321s
    https://docs.unity3d.com/6000.0/Documentation/Manual/job-system-native-container.html
    https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Unity.Collections.NativeArray_1.html
    https://www.youtube.com/watch?v=p65Yt20pw0g&t=2603s

    Zum Abschluss will Felix nicht vorenthalten, was er über die Nacht gebastelt hat ... nämlich wie man den Krams mit Werte-Arrays + Vererbung zur Kompilierzeit in einer Sprachimplementierung implementieren könnte ...written exclusively in C:

    #include <stdio.h>
    
    typedef struct
    {
    	int member1;
    } Base;
    
    // Kompiler-generiert
    #define BASE_MEMBERS \
    	int member1;
    
    // Derived1 erbt von Base
    typedef struct
    {
    	BASE_MEMBERS // Kompiler-generiert
    	int member2;
    	int member3;
    } Derived1;
    
    // Kompiler-generiert, ein einziges Mal für die gesamte Hierarchie (da _zur Kompilierzeit_ bekannt)
    typedef union
    {
    	Base Base;
    	Derived1 Derived1;
    } Polymorph_Base_Derived1;
    
    // Kompiler-generiert
    #define CONCAT_IMPL(a, b) a ## b
    #define CONCAT(a, b) CONCAT_IMPL(a, b)
    #define Polymorph_Base Polymorph_Base_Derived1
    #define Polymorph_Derived1 Polymorph_Base_Derived1

    Vollständigen Text anzeigen


[0] ... [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] ... [272]
[c] [meta] [fefe] [erp]