Suchergebnisse
Suchergebnisse 1-20 von insgesamt 245.
Edit: Glatt 'ne Seite übersehen. Inwiefern auch immer automatische Speicherbereinigung einen Schritt zu GCs darstellt? Autmatische Ressourcen-Verwaltung bereinigt deterministisch zu fixen Zeitpunkten, sobald alle Zugriffsansprüche davon sind, wo gegen GCs irgendwann, wenn sie mal Bock haben, irgendwas, das noch so rumliegt, freigeben.
Es wäre noch elegant, allerdings je nach Häufigkeit der Verwendung nicht zwingend praktikabel, einen neuen Datentyp zu erzeugen, den man dann z.B. network_endian_int32 nennt. Die Idee dabei wäre, dass man alle nötige Arithmetik bereitgestellt hat, und sowas wie Byte Swap (Sei es jetzt über Array-Zugriff und Rumgeshifte wie im von dot verlinkten Blogpost oder Spiele Programmierer's Beispiel, oder durch Zeugs wie __builtin_bswap32, womit man vorsichtig umgehen sollte) unter der Haube stattfindet. ...
CppReference lässt sich sogar als Zip-Ordner herunterladen. Dann kann mans auch ohne Internetz unterwegs lesen.
Ich würde einfach mal sagen, dass Space Engineers in meinen Augen das bisher beste Sandbox-Spiel darstellt, das ich kenne, im Sinne KeksX's Definition. Solltest es dir mal zu Gemüte führen. Falls du es nicht selbst spielen möchtest, kannst du dir mal w4stedspace's YouTube-Kanal anschauen. Er macht sehr interessantes Zeugs in SE. Das Sandboxing geht in SE gar so weit, dass man Programmcode selbst schreiben und in SE ausführen kann. So lassen sich z.B. Navigationscomputer oder sonstwie vollautomat...
Zitat Das ist überhaupt nicht esoterisch. Du glaubst doch nicht, dass du in deiner Software keine Ganzzahlen hast, die größer als 32737 sind. Mal davon ab, dass mir bis auf µController noch keine Hardware unterlaufen ist, bei der ints weniger als 4 Bytes messen, würde mir zumindest nur ein Fall einfallen, in dem ich größere Werte kenne/verwendete: HP von gewissen Gegnern und der Kontostand in RPGs. Habe ich schonmal mehr als 4 Bytes gebraucht? Höchstens in Form von size_t oder intptr_t, wo ich ...
Da das int-Thema hier schon eh' breit getreten ist... Ich hab tatsächlich oft von Problemen mit int und long gelesen. Ein schönes Beispiel aus dem C-Standard wurde ja bereits genannt, aber die meisten lassen sich auf zwei Sachen zurückführen: Vornherein falsch genutzte Typen (int statt size_t), was bei 64bit-Ports ins Knie schießt, oder eben solche fehlgeleiteten Erwartungen, wie etwa dass int in etwa die Größe eines GPRs haben sollte, bei x86_64 häufig dennoch nur 32bit groß ist. Beim ersten di...
-std=c++0x und -std=c++1y sind deprecated, da fertig. Statt dessen sind -std=c++11 und -std=c++14 zu verwenden. Das Neuste vom Neusten wäre -std=c++1z.
Und wann soll sowas von Nutzen sein? Dein Beispiel ist stupides Printen, mir fiele noch (de-)serialisieren von Objekten ein. Aber für Beides gibt es eh' schon spezielle Funktionen à la ToString. Dieses Mehr an scheinbar logischen Konstrukten macht die Sprache eigentlich nur für wenig nutzen unnötig komplexer und komplizierter, und am Ende landest du bei Smalltalk, das kaum einer nutzt, weil es trotz seiner ach so puristischen OOP schlichtweg unhandlich ist. Und ein finaler Sargnagel für diese Üb...
dot, erzähl das mal den WINE-Entwicklern, die sich an undokumentierten Stellen des WinAPIs & Co. seit jeher die Zähne ausbeißen. Oder lies dir mal den Quellcode der STL durch, um die C++-StdLib zu erlernen. Der Quellcode verrät dir ja von sich aus sehr geschickt, wie sich das API z.B. bei Exceptions verhält.
Dank für die Korrektur. °^° Nutze Deleter recht selten, passiert gern mal. =D"
Für Templates... yoah. Die Idee ist genau die hinter deiner Vermutung: Man möchte Implementierungsdetails verstecken. Entweder, weil sie Sicherheitsrisiken darstellen würden, oder weil es den Nutzer einfach nichts angeht. Beispiele wären ein Pointer auf den internen Zustand einer VM, oder ein HWND aus dem WinAPI, oder eben auch ein AL-/GL-Context. Bei Letzterem liegt es vor allem daran, dass unterschiedliche Treiber-Implementierungen unterschiedlichen Stuff in die Kontext-Structs auslagern müsse...
Zitat For some languages, other game developers may have already written such wrappers Spätestens ab diesem Satz solltest du auf die Idee gekommen sein, mal nach sowas wie "Steamworks API .NET" zu suchen. Und siehe da, meine Suche über die bescheidenere Ente liefert mir direkt als zweites Ergebnis das hier, ein C#-Wrapper. Geschätzter Aufwand, danach zu suchen und das da zu finden: ca. 20-30s. Geschätzter Aufwand, diesen Post zu tippen: ca. 3-5min. Korrekturlesen: 1-2min. War das so schwierig? ...
Ich weiß es nicht, aber meine Vermutung ist "ja". Probier doch einfach mal, Wireshark zu starten, und schau, was passiert, wenn du eine Website mit Parametern öffnest wie z.B. YouTube. Dann kannste mal sehen, was alles in Klartext übertragen wird.
Die einzig sichere Methode, dass niemand deinen Quellcode reproduzieren/nachvollziehen kann - außer dir selbst - ist es, dein Spiel auf einem Notebook/Netbook zu entwickeln, das ausschließlich im Akku-Betrieb läuft, nicht mit einem Ethernet-Kabel verbunden ist, sich in einem vor Funkwellen im Wi-Fi-Frequenzbereich abgeschirmten Raum befindet, und niemals mit Wechseldatenträgern verbunden wird, die auch an andere Geräte angeschlossen werden/wurden. Nicht zu vergessen darf dies auch nur der einzig...
@Kitty, Kugelschieber: Das ist trivial, ja, aber das Parsen eines solchen Strings wird aufwändiger, und darauf wollte Cobold wohl hinaus. Beim einfachen Integer geht das ja flux mit std::stol.
Ich sehe nirgends, dass du die Grenzen von 1 bis 7 überprüfst. Für diese Grenzen brauchste sogar nur 4 Bit für jede Zelle der Matrix, oder 8 Bit, wenn du dir viel Shifting ersparen willst. Solltest du 4 Bit nutzen, kannste dir auch das ganze Hash-Gedönse sparen, da die Information selbst kompakt genug für einen direkten Vergleich ohne SSE ist. Eine weitere Möglichkeit, unsinnige Rechenschritte zu sparen, ist die Erkennung von Symmetrie. Diese zwei Matrizen haben zum Beispiel im Prinzip die gleic...
Ich nutze in meinem Zeugs derzeit die Möglichkeit 3, teilweise inspiriert durch Rust. Zum Beispiel gibt es passend zu meiner Window-Klasse eine WindowSettings-Klasse, die sinnvolle Standardwerte annimmt. Der Window-Konstruktor nimmt ausschließlich ein WindowSettings an. Die Settings kann man dann zu jeder Zeit auslesen, aber auch serialisieren und deserialisieren. Und à la Rust geht auch die folgende Syntax, die etwas nach Keyword-Arguments riecht: C-/C++-Quelltext 1 2 3 4 5 6 Window _wnd( Windo...
Ah, okay. Wurde bloß hellhörig, weil ich selbst libsndfile nutze. Aber da iOS nicht in meine Zielgruppe fällt, muss es mich nicht weiter jucken. Danke dafür.
Zitat Ersetzte libsndfile durch Vorbis, FLAC und OGG native Libraries. Als Begründung wurde irgendwas vonwegen iOS und Lizenzen erwähnt. Was war da jetzt genau das Problem?
Je nachdem, wie gut man in Visual Studio externe Toolchains einbinden kann, würde ich ansonsten zu MSYS2 raten. (Wohl gemerkt Version 2, nicht 1, die ist alter, rostiger... Dings) Einfach per Pacman Clang und eventuelle andere Libs wie Boost ziehen, in den Repositories fehlende Bibliotheken flux mit der MSYS2-Shell kompillieren, und los gehts. Macht bei mir bisher keinerlei Probleme, bis auf ein Detail: Wenn du die GCC-Libs nutzen solltest und die unordered_map brauchst, dann wirst du aufgrund v...