Die Suche ergab 154 Treffer

von Biolunar
14.07.2010, 18:14
Forum: Grafikprogrammierung
Thema: Auf dem Weg von DDraw nach OpenGL ..
Antworten: 269
Zugriffe: 28312

Re: Auf dem Weg von DDraw nach OpenGL ..

Bist du dir sicher, dass du dir Xlib antun willst? Es wäre sinnvoller ein fertiges Toolkit zu verwenden, zur Auswahl stehen etliche... Wenn dein Fenster vom Window Manager geschlossen wird, musst du nichts aufräumen. Wenn du selber (= im Code) dein Fenster schließen willst, verwendest du XDestroyWin...
von Biolunar
10.07.2010, 11:16
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Sprechende Namen aber Namen sehr lang
Antworten: 33
Zugriffe: 4550

Re: Sprechende Namen aber Namen sehr lang

[klugscheiß] long long ist kein ISO C++ Datentyp. [/klugscheiß] Ich könnte nämlich oft genug das Kotzen kriegen, wenn ich versuche Fremdcode zu kompilieren, der aber durch tausend "long long"s mit tausend Fehlermeldungen abbricht. Da würde ich typedefs lieben: eine kleine Änderung am Code ...
von Biolunar
04.07.2010, 20:37
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Iterator und std::list
Antworten: 2
Zugriffe: 741

Re: Iterator und std::list

std::vector::at() liefert dir ein std::list<MeineKlasse>* zurück und keinen Iterator. Du musst mit

Code: Alles auswählen

std::list<MeineKlasse>::iterator iter = mBlaa->getMeineKlassen()->at(index)->begin();
noch den Anfangsiterator holen.

edit: damn, zu langsam :)
von Biolunar
23.04.2010, 18:40
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [Gelöst] Speicherloch bei std::string
Antworten: 7
Zugriffe: 1165

Re: [Gelöst] Speicherloch bei std::string

d ist vom myDerived*, also wird auch das myDerived-Objekt gelöscht. Wenn er nur einen Zeiger auf die Basisklasse löscht, wird auch nur die Basisklasse gelöscht, nicht aber die Abgeleitete Klasse.
von Biolunar
15.04.2010, 23:20
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: (gelöst) wfstream akzeptiert keine wide-chars
Antworten: 9
Zugriffe: 1539

Re: wfstream akzeptiert keine wide-chars

Auf Locales sollte man sich nicht verlassen, da nicht sichergestellt ist, dass der Anwender auch ein UTF-8 Locale verwendet bzw. installiert hat. (Mit Locales meine ich hier nicht std::locale sondern die Betriebssystemspezifischen Locales) Die std::locale's sind quasi nur benannte Container für die ...
von Biolunar
15.04.2010, 17:57
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: (gelöst) wfstream akzeptiert keine wide-chars
Antworten: 9
Zugriffe: 1539

Re: wfstream akzeptiert keine wide-chars

Wie herrlich. Und wieder jemand, der an simplen Zeichenketten verzweifelt :) Es haben schon millionen Leute versucht und alle sind gescheitert (ich auch^^). Mein Rat: Konvertiere Strings IMMER nach utf-8 bevor du sie irgendwie serialisieren willst, sonst hast du früher oder später Probleme. Nach eig...
von Biolunar
11.03.2010, 16:05
Forum: Artikel, Tutorials und Materialien
Thema: Generic C++ stream inserter and extractor
Antworten: 4
Zugriffe: 3608

Re: Generic C++ stream inserter and extractor

Lizenztext habe is den Headern hinzugefügt und den Code einmal durchkommentiert.
Ich habe mich für die Boost Software License entschieden, ich denke das ist für Jedermann optimal :)

Die aktualisierten Header stehen im ersten Post zur Verfügung!
von Biolunar
11.12.2009, 18:41
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7527
Zugriffe: 1460371

Re: Jammer-Thread

Warum zum Geier sind so viele Funktionen in ncurses verdammte Makros? Wäre ja halb so schlimm, wenn die nicht refresh, box, move, usw. heißen würden :evil: Ich könnte kotzen!
von Biolunar
09.12.2009, 14:48
Forum: Algorithmen und Datenstrukturen
Thema: Referenz in Klasse
Antworten: 3
Zugriffe: 1700

Re: Referenz in Klasse

Sehe ich genau wie Krishty. Auf so ein new/delete Konstrukt würde ich mich erst gar nicht einlassen, das führt viel zu oft zu Fehlern... Die Variante mit dem boost::shared_ptr ist grundsätzlich eine gute Idee, aber da du das Sub-Objekt ja im Konstruktor erst erstellen willst, solltest du keine Smart...
von Biolunar
27.11.2009, 15:19
Forum: Algorithmen und Datenstrukturen
Thema: [C++] inline operator gegen pointer algorithmus
Antworten: 21
Zugriffe: 4719

Re: [C++] inline operator gegen pointer algorithmus

Meiner Meinung nach sollten so viele Funktionen wie möglich aus der Klasse rausgenommen werden, denn so wird die Klasse nach Außen hin viel flexibler. Prädestiniert sind hierfür natürlich Funktionen, die keine Invarianten der Klasse verändern. Das ermöglicht es u.U. später die Klasse zu erweitern oh...
von Biolunar
16.11.2009, 22:58
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: eigene IO Klasse schreiben
Antworten: 5
Zugriffe: 1144

Re: eigene IO Klasse schreiben

Genau so wurde Streams Library vom gcc auch erstellt! Das ist quasi ein Wrapper um die C Funktionen. Wie das eine andere Implementierung löst, ist damit natürlich nicht gesagt. Zum Beispiel könnte Microsofts Standard Lib intern WinAPI Funktionen verwenden anstatt der Funktionen aus der C Lib; das is...
von Biolunar
16.11.2009, 20:43
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: eigene IO Klasse schreiben
Antworten: 5
Zugriffe: 1144

Re: eigene IO Klasse schreiben

Na dann viel Spass :D Du wirst ne GANZE Weile damit beschäftigt sein...
Ohne nach dem Wieso zu fragen, könntest du dir mal den Source vom gcc bzw. g++ anschauen. Da sind die ganzen Header mitsamt den Implementierungen von der Standard Library.
von Biolunar
30.09.2009, 14:39
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Feste Breite für Floats mit iostreams
Antworten: 2
Zugriffe: 822

Re: Feste Breite für Floats mit iostreams

Bevor du an den Flags was änderst solltest du wissen, dass std::setw nur für das Nächste Objekt gilt. D.h. du musst vor jeder Insertion setw verwenden, damit alle die selbe Länge haben. Um die selbe länge der floats zu erreichen würde ich einfach die Nullen direkt hinter dem Vorzeichen einfügen, als...
von Biolunar
14.08.2009, 13:25
Forum: Allgemeines Talk-Brett
Thema: Vorschläge zum Forum
Antworten: 10
Zugriffe: 2314

Re: Vorschläge zum Forum

Ich finde es gut, dass hier nicht automatisch Tabs/Fenster geöffnet werden. Ich möchte gerne selbst bestimmen wo und wie ich was öffne. Alles andere finde ich bevormundet.
von Biolunar
14.06.2009, 21:18
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: (erledigt) [C++] stringstream::flush() überladen
Antworten: 22
Zugriffe: 4388

Re: [C++] stringstream::flush() überladen

Man könnte zusätzlich noch das xsputn() überschreiben: virtual std::streamsize xsputn(char_type const* str, std::streamsize n) { typename string_type::size_type const old_size = buffer.size(); try { buffer.append(str, n); } catch (...) { return buffer.size() - old_size; } return n; } Dann wird halt ...
von Biolunar
14.06.2009, 20:33
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: (erledigt) [C++] stringstream::flush() überladen
Antworten: 22
Zugriffe: 4388

Re: [C++] stringstream::flush() überladen

Zu deinem Code: Was ist der Vorteil von ::std::basic_string (habe ich in der Doku nicht finden können)? Wus? Kommt dir das bekannt vor: namespace std { typedef basic_string<char> string; } Ja! Std::string ist ein std::basic_string! Naja ich hab einfach einen String genommen und keinen vector, weil ...
von Biolunar
14.06.2009, 19:01
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: (erledigt) [C++] stringstream::flush() überladen
Antworten: 22
Zugriffe: 4388

Re: [C++] stringstream::flush() überladen

Die umstrukturierung der Klasse "Logger" ist in der Tat sinnvoll danke :), wenn auch aus performance Gründen irrelevant. Also so grausig war das doch nicht oder? ;-) Da gibt es schon grausigere Sachen wie sowas: // Standard constructor. explicit DebuggerStreamBuffer(void) { this->ResetBuff...
von Biolunar
13.06.2009, 17:29
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: (erledigt) [C++] stringstream::flush() überladen
Antworten: 22
Zugriffe: 4388

Re: [C++] stringstream::flush() überladen

Ich kann das Verhalten nicht reproduzieren, mit allen (wcout, wcerr, wclog) funktioniert es bei mir mit dem vector einwandfrei. Wenn du deine Log-Ausgaben in eine Datei schreiben willst, gibts auch eine einfache Variante ohne einen eigenen streambuffer: class Logger { public: Logger() : sb(0), wsb(0...
von Biolunar
06.06.2009, 23:52
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: (erledigt) [C++] stringstream::flush() überladen
Antworten: 22
Zugriffe: 4388

Re: [C++] stringstream::flush() überladen

Ja, exakt man brauch einen neuen streambuffer. Mit Hilfe von Boost.IOStreams ist es ziemlich einfach so einen streambuffer zu erstellen oder aber du leitest selber von std::basic_streambuf ab... Du könntest dir z.B. die Implementierung des std::basic_filebuf mal ansehen, da dieser warscheinlich gepu...
von Biolunar
06.06.2009, 19:29
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: (erledigt) [C++] stringstream::flush() überladen
Antworten: 22
Zugriffe: 4388

Re: [C++] stringstream::flush() überladen

Also quasi anstatt sowas: logger_object.write(text.str()); sowas wie text.flush(); ? Die Idee da hinter fände ich nicht schlecht, da das flush() standardmäßig sowieso nix macht, allerdings wird damit der Sinn von flush() verändert. Dieses wiederrum halte ich für eine schlechte Idee. Wie wäre es, wen...
von Biolunar
06.06.2009, 18:27
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: (erledigt) [C++] stringstream::flush() überladen
Antworten: 22
Zugriffe: 4388

Re: [C++] stringstream::flush() überladen

Hi, Einfach abzuleiten ist aber nicht möglich, weil viele Spezialisierungen des Operators << globale Funktionen sind. Die Überladene Funktion wird also nie erreicht, das ist allgemein bekannt . Da verstehst du glaub ich was falsch. Die Operatoren << und >> arbeiten auf der Basis von std::basic_ostre...
von Biolunar
31.05.2009, 19:16
Forum: Algorithmen und Datenstrukturen
Thema: Konsole thread-safe machen
Antworten: 6
Zugriffe: 1349

Re: Konsole thread-safe machen

Was für Funktionen brauchst du denn? Eine Messagequeue ließe sich z.B. einfach mit std::queue implementieren.
von Biolunar
31.05.2009, 19:12
Forum: Artikel, Tutorials und Materialien
Thema: Generic C++ stream inserter and extractor
Antworten: 4
Zugriffe: 3608

Generic C++ stream inserter and extractor

Vielen dürfte die Überladung der Operatoren << und >> geläufig sein mit denen man die standard C++ Streams für user-defined types (UDT) verwendet werden können, aber mit den Schwierigkeiten, die bei der Implementierung auftauchen können, kennen sich nur die wenigsten aus. Diese Operatoren werde ich ...
von Biolunar
31.05.2009, 17:15
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: ifstream >> enum
Antworten: 3
Zugriffe: 969

Re: ifstream >> enum

Du musst den operator>> auch für dein enum überladen: #include <ostream> #include <istream> enum farbe {rot, blau, gelb}; typedef unsigned long externer_farbe_typ; template <typename char_t, typename traits_t> std::basic_ostream<char_t, traits_t>& operator<< (std::basic_ostream<char_t, traits_t>...
von Biolunar
04.05.2009, 22:09
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Applikation Unicode tauglich machen
Antworten: 8
Zugriffe: 1606

Re: Applikation Unicode tauglich machen

Kommt halt auf den Compiler an wie groß nun tatsächlich die ganzen Datentypen sind, die Handhabung ändert sich dadurch nicht. Hast du denn bisher eine eigene Stringklasse verwendet oder std::string? std::string ist nämlich ein typedef auf std::basic_string<char>. Dementsprechend gibts das selbe auch...
von Biolunar
29.04.2009, 17:35
Forum: Algorithmen und Datenstrukturen
Thema: PQ-Formel bei Vektoren
Antworten: 6
Zugriffe: 2797

Re: PQ-Formel bei Vektoren

Wieso eigentlich immer Makros? Eine Funktion tut es genau so gut und ist auch noch typensicher. Ansonsten würde ich jetzt spontan auch mal auf die Vergleiche tippen.

Code: Alles auswählen

bool equal(float a, float b)
{
    return std::abs(a - b) < std::numeric_limits<float>::epsilon();
}
von Biolunar
25.04.2009, 17:18
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [STL] wstring und wcout verhalten sich merkwürdig.
Antworten: 6
Zugriffe: 2313

Re: [STL] wstring und wcout verhalten sich merkwürdig.

Das ist nicht von Erfolg geprägt. Einfach nur weil es das selbe ist ;) Das Problem liegt an den Wide String Literalen. Immer wenn ich irgendwas in Anführungszeichen den Containtern einflöße, wird auf einmal size() gewaltig groß. std::wstring str; hat eine Größe von 0, std::wstring str(L"")...
von Biolunar
24.04.2009, 18:29
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [STL] wstring und wcout verhalten sich merkwürdig.
Antworten: 6
Zugriffe: 2313

Re: [STL] wstring und wcout verhalten sich merkwürdig.

Oha. Das hat bei mir auch alles verändert. L"Bob" hat nun die größe 10 anstatt 3 und der andere Code gibt nen Segfault. Bei sonstigen Ausgaben kommt zwar was raus, aber nur Unfug und nichts lesbares...
von Biolunar
24.04.2009, 18:20
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [STL] wstring und wcout verhalten sich merkwürdig.
Antworten: 6
Zugriffe: 2313

Re: [STL] wstring und wcout verhalten sich merkwürdig.

Das Problem kann ich nicht nachvollziehen. Es funktioniert wie gewollt mit gcc-4.3 unter Linux 2.6.29, da der Code auch so korrekt ist.

Die beiden Funktionen std::basic_string::length() und std::basic_string::size() sind äquivalent.