Suchergebnisse

Suchergebnisse 1-20 von insgesamt 64.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • RE: C wie confusion...

    eloso - - Alternativen

    Beitrag

    Zitat: „Original von deconceptional Wenn wir schon beim Rätsel lösen sind... Zitat: „/* * isNonZero - Check whether x is nonzero using * the legal operators except ! * Examples: isNonZero(3) = 1, isNonZero(0) = 0 * Legal ops: ~ & ^ | + << >> * Max ops: 10 * Rating: 4 */ int isNonZero(int x) { return ?; }“ “ Ich denke mal, wir gehen davon aus, dass int 32 Bit breit ist. Dann komme ich sogar mit 9 ops aus: Quellcode (21 Zeilen) Der Index-Operator [] zählt doch nicht als op, oder?

  • Modultests

    eloso - - Alternativen

    Beitrag

    Zitat: „Original von tjp Es gibt Module deren interner Zustand eben nicht nur von Deinen kontrollierbaren Eingaben abhängt und dann ist es nicht sehr hilfreich, wenn man mit einem abort() aus dem Programmfluß aussteigt.“ Das ist dann aber eben kein Unit-Test mehr. Denn das hieße ja, dass der Test mal durchläuft und mal nicht, je nachdem, in welchem Zustand sich gerade die externen Daten befinden. Damit wäre der Sinn von Unit-Tests verloren. Beim Unit-Testing verwendest Du ausschließlich vorher d…

  • Modultests

    eloso - - Alternativen

    Beitrag

    Zitat: „Original von reimer Eine private Methode ist doch auch ein Modul.“ Kommt auf die Sichtweise drauf an. Von etwas weiter draußen betrachtet ist sie es nicht. In den meisten Fällen ist auch eine einzelne öffentliche Methode noch kein Modul, sondern nur ein Teil davon. Ein Modul ist ein Zusammenschluss von mehreren öffentlichen Methoden. Ob das nun eine Klasse ist, oder das, was man in Pascal eine Unit nennt und ob da irgendwelche privaten Methoden oder in C static-Funktionen mit drin sind, …

  • RE: Modultests

    eloso - - Alternativen

    Beitrag

    Zitat: „Original von tjp Zitat: „Original von eloso Zitat: „, da die Klasse selbst eine Exception werfen muß, wenn sie ein undefinierten Zustand erreicht,“ Jein. Zunächst einmal ist der Unit-Test dafür da, sicherzustellen, dass die Klasse keinen undefinierten Zustand erreichen kann.“ Mittels Unit Testing versucht man gerade solche Zustände der Klasse aufzuspüren (man verhindert sie somit nicht), da man aber realistischer Weise nicht alle möglichen Kombinationen der Parameter bzw. alle Zustände a…

  • Modultests

    eloso - - Alternativen

    Beitrag

    Zitat: „Original von reimer Die Sache ist die, dass ich in eine Warteschlange Pointer ungleich 0 eintrage, beim Auslesen aber dann nur noch 0 auslese (außer das erste Element).“ Das ist doch ein wunderbares Beispiel. Dann schreibst Du also einen Test, der mehrere Werte in die Warteschlange einträgt und überprüft, ob die Werte, die anschließend rausgeholt werden auch noch die gleichen sind, die eingetragen wurden. Vorher solltest Du allerdings noch etwas "grundlegendere" Tests machen, z.B. ob die…

  • RE: Modultests

    eloso - - Alternativen

    Beitrag

    Zitat: „Original von tjp Als erstes fängt man mit einem anderen Klassendesign an. - RAII konsequent anwenden - Daher sollte man auch wissen was "exception safe" und "exception neutral" bedeuten. - Jede Klasse bekommt eine Invariante - Nach jeder Veränderung des Objekts wird die Invariante aufgerufen, die das Objekt auf Plausibilität überprüft. - Wenn möglich sollten Änderungen an Klassen der aus dem DBMS Bereich bekannten Transaktions Muster folgen. Dies heißt, wenn eine Änderung nicht durchgefü…

  • Zitat: „Original von gritsch Quellcode (1 Zeile)“ Das ist nicht Standard. Auch wenn's der gcc seit 3.4 unterstützt.

  • Zitat: „Original von gritsch nene, beim includieren aufpassen ist besser. “ Als zusätzliche Maßnahme ist das sicherlich sinnvoll und wäre von mir nach seiner Erfolgsmeldung noch aufgegriffen worden. Allerdings lassen sich Mehrfach-Includes nicht immer vermeiden (in seinem Fall mit der Liste vermutlich schon; ich kenne allerdings den Rest seines Codes nicht). Insofern ist es sinnvoll, insbesondere wenn man vor hat, die Datei später noch in anderen Modulen zu verwenden, sie gegen Mehrfach-Includes…

  • Vermutlich wird jetzt Element.h mehrfach inkludiert. Füge mal ganz am Anfang von Elelment.h Quellcode (2 Zeilen) und ganz am Ende Quellcode (1 Zeile) ein.

  • cond.h header file

    eloso - - Alternativen

    Beitrag

    Zitat: „Original von Objcler Das kann so nicht klappen. -3! = -6 und bei dir käme 1 raus.“ Falsch. Die Fakultät ist für negative Zahlen nicht definiert. Korrekterweise müsste man also für negative Zahlen eine Fehlerbehandlung einbauen oder einfach unsigned int nehmen.

  • GMP unter Mac OS X

    eloso - - Alternativen

    Beitrag

    Sieht für mich so aus, als wäre beim bauen der lib schon was schiefgelaufen. Hast Du nach dem bauen auch brav ein "make check" gemacht? Wenn ja, lief der fehlerfrei durch?

  • Der Compiler arbeitet hier standardkonform. Das Problem liegt am Name-Lookup von C++. Da x in x=10 nicht vom Parameter T abhängig ist, wird der Name zum Zeitpunkt der Deklaration aufgelöst. D.h. T und somit auch BaseType<T> ist unbekannt. Wenn Du BaseType<T>::x = 10 schreibst, ist x von T abhängig. Es wird also erst zur Zeit der Instantiierung von DType<T> aufgelöst. An dieser Stelle ist BaseType<T> bekannt und somit wird x gefunden. Du könntest übrigens auch this->x schreiben. Da this vom Type …

  • RE: enum mit eigenem typ

    eloso - - Alternativen

    Beitrag

    Nein, enum selbst ist ja schon der Typ, wenngleich man ihn natürlich zum int oder auch uint8_t casten kann.

  • IP Adresse des aktuellen Rechners ermitteln

    eloso - - Alternativen

    Beitrag

    Du könntest auch gethostname und dann gethostbyname aufrufen. Anschließend hast Du in der zurückgegebenen Struktur eine Liste von Adressen.

  • opengl einfach

    eloso - - Grafik & UI

    Beitrag

    OpenGL ist eine API. Die kannst Du nicht mit einer 3d-Engine, wonach dieses GLScene aussieht, und die auf OpenGL aufsetzt, vergleichen. So könntest Du auch sagen, Pizza backen ist viel zu kompliziert. Erst den Teig anrühren, dann den Belag zubereiten, etc... Dauert viel zu lange. Eine Fertigpizza schiebe ich einfach in den Ofen. Das kann sogar meine Großmutter. Als plattformübergreifende 3d-Engine für C++ kann ich Dir z.B. ogre3d.org/ empfehlen. Lässt sich auch wunderbar in Xcode einbinden.

  • red aux (OpenGl)

    eloso - - Grafik & UI

    Beitrag

    Ach ja, noch was, der Verständlichkeit halber: Mit glMatrixMode bestimmst Du, welche Matrix Du anschließend manipulieren willst. Es bedeutet _nicht_, dass es verschiedene Modi gibt, Matrizen zu manipulieren.

  • red aux (OpenGl)

    eloso - - Grafik & UI

    Beitrag

    Zitat: „Original von Andrea Wenn ich gegenteilige (invertierte) Matrizen in umgekehrter Reihenfolge multipliziere habe ich eine invertierte (gesamt) Matrix. Oder anders gesagt, in dem Falle wird nicht das Objekt, sondern das Koordinatensystem transformiert. “ Wie Du das interpretierst, ist eigentlich egal. Bei glRotate(-90,1,1,0); glTranslate(0,0,-1); kannst Du einmal sagen, Du rotierst zuerst das Koordinatensystem um -90° um die x-Achse (dann zeigt die negative z-Achse nach unten), und verschie…

  • Zitat: „Original von Andrea Quellcode (9 Zeilen)“ Die gl*-Funktionen multiplizieren die entsprechende Matrix immer von _rechts_ an die aktuelle Matrix, dh. die Operationen werden in umgekehrter Reihenfolge ausgeführt. In der Mathematik sagt man ja auch häufig "A nach B", wenn man A(B), bei Matrizen also A*B meint. Du verschiebst hier zunächst das Rechteck um 1 Einheit nach vorne. Damit liegt es dann nicht mehr um Ursprung. Dann rotierst Du es um -90° um die x-Achse, wodurch es unten landet. Du m…

  • RE: Hilfe , nun weiss ich gar nix mehr

    eloso - - Grafik & UI

    Beitrag

    Zitat: „Original von Andrea Was wird mit den Transformationen bzw resultierenden Matrizen bewegt ? Im glMatrixmode( GL_MODELVIEW) Das Objekt, oder die Kamera ? “ Eine Kamera in dem Sinn gibt es in OpenGL gar nicht. Die Transformation, die die ModelView-Matrix beschreibt, wirkt sich immer auf die Objekte aus, die danach gezeichnet werden. Eine Rotationsmatrix beschreibt allerdings immer eine Rotation um den Ursprung, dh. wenn Du ein Objekt, welches sich nicht im Ursprung befindet, drehst, dann dr…

  • red aux (OpenGl)

    eloso - - Grafik & UI

    Beitrag

    Zitat: „Original von Andrea Die von mir gemeinten Bildschirmkoordinaten werden im Schaubild als window coordinates bezeichnet. Und ich lese da "Perspektive Division" “ Durch die "Perspective Division" bekommst Du aber erstmal die "normalized device coordinates", d.h. die Koordinaten liegen in dem "Einheitswürfel" (-1,-1,-1)-(1,1,1). Die Viewport-Transformation macht dann die Bildschirmkoordinaten daraus. Die steuerst Du mit glViewport und glDepthRange.