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
BeitragZitat: „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
BeitragZitat: „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
BeitragZitat: „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
BeitragZitat: „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
BeitragZitat: „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
BeitragZitat: „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ü…
-
[Xcode 3.0] error: ISO C++ forbids declaration of 'Element' with no type
eloso - - Alternativen
BeitragZitat: „Original von gritsch Quellcode (1 Zeile)“ Das ist nicht Standard. Auch wenn's der gcc seit 3.4 unterstützt.
-
[Xcode 3.0] error: ISO C++ forbids declaration of 'Element' with no type
eloso - - Alternativen
BeitragZitat: „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…
-
[Xcode 3.0] error: ISO C++ forbids declaration of 'Element' with no type
eloso - - Alternativen
BeitragVermutlich 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
BeitragZitat: „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
BeitragSieht 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?
-
RE: "Komisches Verhalten" des GCC bei abgeleiteten Template Instanzvariablen?
eloso - - Alternativen
BeitragDer 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
BeitragNein, enum selbst ist ja schon der Typ, wenngleich man ihn natürlich zum int oder auch uint8_t casten kann.
-
opengl einfach
eloso - - Grafik & UI
BeitragOpenGL 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
BeitragAch 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
BeitragZitat: „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…
-
RE: ums nach unten zu schieben muss ich es nach hinten schieben , tze tze
eloso - - Grafik & UI
BeitragZitat: „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
BeitragZitat: „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
BeitragZitat: „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.