Suchergebnisse
Suchergebnisse 1-20 von insgesamt 1 000. Es gibt noch weitere Suchergebnisse, bitte verfeinere deine Suche.
Zitat von »Roflo« Boost:pirit ist auch recht nützlich. Uii... hast du Spirit schonmal benutzt? Ich habe vor ein paar jahren mal damit gearbeitet um eine CSS-ähnliche Sprache zu parsen und ja es hat zum Schluss funktioniert... aber ich würde is niemandem empfehlen (es sei denn es ist eine sehr einfache Grammatik). Die Zeit zum Kompilieren einer Datei die spirit benutzt ist mindestens 10 mal so hoch wie die einer normalen datei. Und wenn du einen Fehler machst bekommst du 1000 Zeilen Fehlermeldun...
Alle Leute beschweren sich immer, dass das Interface von DF so schlecht ist, aber wenn man mal genauer darüber nachdenkt, ist das eigentlich egal. Das Spiel ist so komplex, dass man sowieso das Wiki brauchst um voran zu kommen. 95% der Zeit verbraucht man um herauszufinden, dass etwas geht und wenn dann wie. Ein besseres GUI würde da auch nicht helfen. Man braucht sowieso sehr viel Zeit für das Spiel selber; da lernt man dann auch das Interface schnell zu benutzen. Für die Sachen die wirklich **...
"The problem with internet quotes is that you cant always depend on their accuracy" -Abraham Lincoln, 1864
Hi, benutze für solche Fälle std::array. Dann sieht das ganze folgendermaßen aus: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 enum KEY_PRESSED_STATES { KEY_PRESSED_STATE_DEFAULT, KEY_PRESSED_STATE_UP, KEY_PRESSED_STATE_DOWN, KEY_PRESSED_STATE_LEFT, KEY_PRESSED_STATE_RIGHT, KEY_PRESSED_STATE_TOTAL_NUMBER_OF_STATES }; // Definiere einen array-typen typedef std::array<SDL_Surface*, KEY_PRESSED_STATE_TOTAL_NUMBER_OF_STATES> SurfaceMediaArray; int main(int argc, ch...
Wieso sollte ein Iterator prüfen ob er gültig ist? Wenn du vernünftig programmierst, wird er eben nie ungültig. Zu verlangen, dass die Iteratoren jedesmal Zeit aufwenden, um zu prüfen ob sie noch gültig sind, wenn sich ihre Gültigkeit auch einfach aus deiner Programmierung ergibt, ist mehr so eine Java-Sache In der C++ Doku ist überigens auch für jede Funktion eines Containers angegeben, in wie fern sie die Gültigkeit der Iteratoren verändert (siehe zum Beispiel std::vector::push_back). Es gibt ...
Ahh das erinnert mich daran, wie RTL gezeigt hat, wie man Server hackt: hier
Also eine VC-Performance-Analyse sagt, dass die 77,7% der Gesamtlaufzeit des Programms dabei draufgeht weak_ptr::lock aufzurufen. Sonst brauchen alle Aufrufe fast gleich viel Zeit. Wie erwartet ist das locken der weak_ptr das was am längsten dauert. Ich denke aber weak_ptr wird in deinem Design auf keinen Fall benötigt.
Zitat von »Evrey« Der Anwendungs-Fall ist folgender: owned_ptr/borrowed_ptr ist dann zu verwenden, wenn ein Objekt (z.B. ein Manager) explizit Objekte besitzt, die von anderen benutzt werden dürfen, deren Verwendung allerdings über die Lebenszeit des Besitzers hinweg keinen Sinn ergibt. Das kann z.B. ein OpenAL-Buffer sein, der nur so lange zu verwenden ist, wie der OpenAL-Kontext existiert. Generell bei _allen_ Objekten, zu deren Dokumentation irgendwas wie "Don't use unless this/that..." oder...
In welchem Kontext soll das ganze denn eingesetzt werden? Geht es um Ressourcen-Verwaltung? Dann ist die Frage, was du mit der unique-Ownership erreichen möchtest? Willst du anderen einfach den Zugriff auf die Ressourcen unterm Hintern wegziehen ? Also aus welchem Grund überlebt die Referenz auf die Resource den die Ressource?
Wenn ich das richtig verstehe, willst du einen shared_ptr, den man nicht kopieren kann? In dem Fall lass einfach Niemanden an den shared_ptr rankommen. In wirklichkeit kannst du ja immer nur einen Zugang zu einem Objekt besitzen. Das sagen ja shared_ptr und unique_ptr aus. Dazu kommt dann noch die Frage wer aufräumt. Theoretisch kannst du ja alle unique_ptr durch shared_ptr ersetzen (nur verlierst du dann die semantische Aussage). PS: Wenn du deinen dynamic_ptr/sole_ptr in einer Multithread-Umge...
Ich sehe noch nicht ganz das Problem, was du versuchst zu lösen... Es gibt halt die drei Möglichkeiten die er beschreibt: 1. shared_ptr und weak_ptr: Benutze shared_ptr um auf ein Objekt zu zeigen, von dem du nicht weißt wer noch alles auf dieses zeigt (weak_ptr um Zyklen zu brechen) 2. unique_ptr: Hier gibt es einen eindeutigen Besitzer, der das Objekt erzeugt und nicht teilen möchte (jedenfalls mit nichts außerhalb des Objektes selber)! Eine unique ownership mit einer Benutzung von expired zu ...
Und welches ist das bestehende Spiel? Gothic I? Gothic II? Gothic II DNdR? Wenn ihr den Server stellt, wie kann ich denn dann mitspielen? Muss man dann einen Multiplayermod installieren? Und braucht man noch andere mods? Edit: Ahh ok ihr benutzt den Mod: http://www.moddb.com/mods/gothic-multiplayer Dann ist ja alles klar. Freue mich schon. Hoffentlich verpasse ich nicht die Fertigstellung
Passwort ist: merchant (also klein geschrieben)
Hmm bei mir kommt eine NullPointerException, wenn ich einen der 3 Charaktere auswähle. Quellcode 1 2 3 4 5 6 7 8 9 10 11 C:\Users\***********>java -jar LoE_alpha.jar 00:00 INFO: Connecting: /93.186.198.22:14089/14089 00:00 INFO: [kryonet] Connection 408 connected: /93.186.198.22 Exception in thread "LWJGL Application" java.lang.NullPointerException at net.xr3alx.entities.TestEnemy.checkAttack(TestEnemy.java:225) at net.xr3alx.entities.TestEnemy.update(TestEnemy.java:218) at net.xr3alx.screens.Ga...
Welchen typ hat denn it? und wie sind die fehlermedlungen genau? Alternativ kannst du auch einfach insert verwenden. insert wird das neue element nur einfügen, wenn noch keins vorhanden ist. Außerdem kannst du über den rückgabetyp herausfinden, ob das der fall war: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 auto result = map.insert(std::make_pair(ID, element)); // result ist vom typ pair<iterator, bool>. dem bool kannst du entnehmen, ob das element erfolgreich eingefügt wurde. // also result.second i...
Also bei mir geht es... kannst du denn die datei mit rechtsklick auf den header öffnen? Sonst guck mal unter C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\ nach ob da die fstream-datei vorhanden ist (bzw wo du sonst vs 2012 installiert hast)
Wie wäre es mit const + private + getter: C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 class whatever { public: whatever(const std::wstring& str) : myString(str) { } ~whatever() { // benutze myString... myString kann natürlich wegen const nicht mehr verändert werden! std::cout << myString << " = " << getTheString() << std::endl; } // evtl noch protected, wenn nur die abgeleitete klasse den string lesen dürfen soll // protected: const std::wstring& getTheString() const {...
Was ist mit der Partei "Die Partei"? Die sagt wenigstens die Wahrheit!
Ein Pointer ist immer gleich groß. je nachdem ob du 32bit oder 64 bit kompilierst, ist der Zeiger 4 bzw. 8 Byte groß. Also jeden Asteroiden, den du erzeugst, wird so einen Pointer haben. In dem Beispiel brauchen die Asteroiden den Pointer auf das spirte, denn sonst wüßten sie ja in der Render-methode nicht, was sie zeichnen sollten. Das CSprite ist dabei nur eine Klasse, die die Benutzung der SDL vereinfachen soll. Wegen Speicher brauchst du dir keine Gedanken zu machen. Selbst wenn du 10000 Ast...
Hi, Ich bin jetzt schon fast 6 Jahre angemeldet, habe aber noch nie ein Projekt veröffentlicht . Das will ich heute mal ändern . Über Tilenet Tilenet ist eine kleine Library, die es ermöglichen soll, ein Spiel lediglich serverseitig zu programmieren und dann den Inhalt zum Spieler (dem Client) zu "streamen". Die Grafik ist dabei allerdings auf kleine Rechtecke (Tiles) begrenzt, die auf so genannte Layer gesetzt werden. Ein oder mehrere Layer können dann einem oder mehreren Spielern zugewiesen we...