Die Suche ergab 154 Treffer
- 14.07.2010, 18:14
- Forum: Grafikprogrammierung
- Thema: Auf dem Weg von DDraw nach OpenGL ..
- Antworten: 269
- Zugriffe: 30446
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...
- 10.07.2010, 11:16
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Sprechende Namen aber Namen sehr lang
- Antworten: 33
- Zugriffe: 4835
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 ...
- 04.07.2010, 20:37
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Iterator und std::list
- Antworten: 2
- Zugriffe: 754
Re: Iterator und std::list
std::vector::at() liefert dir ein std::list<MeineKlasse>* zurück und keinen Iterator. Du musst mit
noch den Anfangsiterator holen.
edit: damn, zu langsam :)
Code: Alles auswählen
std::list<MeineKlasse>::iterator iter = mBlaa->getMeineKlassen()->at(index)->begin();
edit: damn, zu langsam :)
- 23.04.2010, 18:40
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: [Gelöst] Speicherloch bei std::string
- Antworten: 7
- Zugriffe: 1194
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.
- 15.04.2010, 23:20
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: (gelöst) wfstream akzeptiert keine wide-chars
- Antworten: 9
- Zugriffe: 1607
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 ...
- 15.04.2010, 17:57
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: (gelöst) wfstream akzeptiert keine wide-chars
- Antworten: 9
- Zugriffe: 1607
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...
- 11.03.2010, 16:05
- Forum: Artikel, Tutorials und Materialien
- Thema: Generic C++ stream inserter and extractor
- Antworten: 4
- Zugriffe: 3654
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!
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!
- 11.12.2009, 18:41
- Forum: Allgemeines Talk-Brett
- Thema: Jammer-Thread
- Antworten: 7544
- Zugriffe: 1613053
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!
- 09.12.2009, 14:48
- Forum: Algorithmen und Datenstrukturen
- Thema: Referenz in Klasse
- Antworten: 3
- Zugriffe: 1722
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...
- 27.11.2009, 18:23
- Forum: Algorithmen und Datenstrukturen
- Thema: [C++] inline operator gegen pointer algorithmus
- Antworten: 21
- Zugriffe: 4882
Re: [C++] inline operator gegen pointer algorithmus
Ich hab ihn gefunden :) How non-member functions improve encapsulation
- 27.11.2009, 15:19
- Forum: Algorithmen und Datenstrukturen
- Thema: [C++] inline operator gegen pointer algorithmus
- Antworten: 21
- Zugriffe: 4882
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...
- 16.11.2009, 22:58
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: eigene IO Klasse schreiben
- Antworten: 5
- Zugriffe: 1173
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...
- 16.11.2009, 20:43
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: eigene IO Klasse schreiben
- Antworten: 5
- Zugriffe: 1173
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.
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.
- 30.09.2009, 14:39
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Feste Breite für Floats mit iostreams
- Antworten: 2
- Zugriffe: 835
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...
- 14.08.2009, 13:25
- Forum: Allgemeines Talk-Brett
- Thema: Vorschläge zum Forum
- Antworten: 10
- Zugriffe: 2377
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.
- 14.06.2009, 21:18
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: (erledigt) [C++] stringstream::flush() überladen
- Antworten: 22
- Zugriffe: 4543
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 ...
- 14.06.2009, 20:33
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: (erledigt) [C++] stringstream::flush() überladen
- Antworten: 22
- Zugriffe: 4543
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 ...
- 14.06.2009, 19:01
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: (erledigt) [C++] stringstream::flush() überladen
- Antworten: 22
- Zugriffe: 4543
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...
- 13.06.2009, 17:29
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: (erledigt) [C++] stringstream::flush() überladen
- Antworten: 22
- Zugriffe: 4543
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...
- 06.06.2009, 23:52
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: (erledigt) [C++] stringstream::flush() überladen
- Antworten: 22
- Zugriffe: 4543
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...
- 06.06.2009, 19:29
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: (erledigt) [C++] stringstream::flush() überladen
- Antworten: 22
- Zugriffe: 4543
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...
- 06.06.2009, 18:27
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: (erledigt) [C++] stringstream::flush() überladen
- Antworten: 22
- Zugriffe: 4543
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...
- 31.05.2009, 19:16
- Forum: Algorithmen und Datenstrukturen
- Thema: Konsole thread-safe machen
- Antworten: 6
- Zugriffe: 1374
Re: Konsole thread-safe machen
Was für Funktionen brauchst du denn? Eine Messagequeue ließe sich z.B. einfach mit std::queue implementieren.
- 31.05.2009, 19:12
- Forum: Artikel, Tutorials und Materialien
- Thema: Generic C++ stream inserter and extractor
- Antworten: 4
- Zugriffe: 3654
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 ...
- 31.05.2009, 17:15
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: ifstream >> enum
- Antworten: 3
- Zugriffe: 988
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>...
- 04.05.2009, 22:09
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: Applikation Unicode tauglich machen
- Antworten: 8
- Zugriffe: 1659
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...
- 29.04.2009, 17:35
- Forum: Algorithmen und Datenstrukturen
- Thema: PQ-Formel bei Vektoren
- Antworten: 6
- Zugriffe: 2865
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();
}
- 25.04.2009, 17:18
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: [STL] wstring und wcout verhalten sich merkwürdig.
- Antworten: 6
- Zugriffe: 2343
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"")...
- 24.04.2009, 18:29
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: [STL] wstring und wcout verhalten sich merkwürdig.
- Antworten: 6
- Zugriffe: 2343
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...
- 24.04.2009, 18:20
- Forum: Programmiersprachen, Quelltext und Bibliotheken
- Thema: [STL] wstring und wcout verhalten sich merkwürdig.
- Antworten: 6
- Zugriffe: 2343
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.
Die beiden Funktionen std::basic_string::length() und std::basic_string::size() sind äquivalent.