<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Object wie in Java?]]></title><description><![CDATA[<p>Nabend zusammen.</p>
<p>Gibt es in C++ eine Möglichkeit Objekte zu speichern.<br />
Ich komma aus der Java-Programmierung und da kann ich ja einfach Object angeben, wenn ich etwas allgemein schreiben möchte.</p>
<p>Gibt es diese Möglichkeit auch bei C++?.<br />
Ich möchte eine Liste als Speichermanager schreiben und dafür brauche ich natürlich eine allgemeine Ablage für die zu speichernden Objeckte.</p>
<p>Danke für eure Hilfe.</p>
<p>cu<br />
rizor</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/215749/object-wie-in-java</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 21:17:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/215749.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 14 Jun 2008 22:16:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Object wie in Java? on Sat, 14 Jun 2008 22:16:04 GMT]]></title><description><![CDATA[<p>Nabend zusammen.</p>
<p>Gibt es in C++ eine Möglichkeit Objekte zu speichern.<br />
Ich komma aus der Java-Programmierung und da kann ich ja einfach Object angeben, wenn ich etwas allgemein schreiben möchte.</p>
<p>Gibt es diese Möglichkeit auch bei C++?.<br />
Ich möchte eine Liste als Speichermanager schreiben und dafür brauche ich natürlich eine allgemeine Ablage für die zu speichernden Objeckte.</p>
<p>Danke für eure Hilfe.</p>
<p>cu<br />
rizor</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529292</guid><dc:creator><![CDATA[blacksun]]></dc:creator><pubDate>Sat, 14 Jun 2008 22:16:04 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Sat, 14 Jun 2008 22:22:52 GMT]]></title><description><![CDATA[<p>blacksun schrieb:</p>
<blockquote>
<p>Gibt es in C++ eine Möglichkeit Objekte zu speichern.<br />
Ich komma aus der Java-Programmierung und da kann ich ja einfach Object angeben, wenn ich etwas allgemein schreiben möchte.<br />
Gibt es diese Möglichkeit auch bei C++?.</p>
</blockquote>
<p>in Java haben alle klassen 'object' als root. das ist bei cpp nicht so, d.h. du musst dir sowas selber bauen, mit 'ner abstrakten klasse, von der alle erben. sowas wie serialierung gibts auch nicht per default, aber bestimmt findet man irgendwo libraries, die das machen.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529295</guid><dc:creator><![CDATA[fricky]]></dc:creator><pubDate>Sat, 14 Jun 2008 22:22:52 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Sat, 14 Jun 2008 22:26:15 GMT]]></title><description><![CDATA[<p>Oha - ich muss ins Bett.<br />
Den ersten Satz verstehe ich ja noch, aber danach kommt nur noch irgendwas mit &quot;Object&quot; und &quot;schreiben&quot; und &quot;Liste&quot;, &quot;Speichermanager&quot; und &quot;Ablage&quot;, das ich in keinen Sinnzusammenhang bekomme.</p>
<p>Was fricky geschrieben hat, finde ich zwar richtig - aber inwieweit es etwas mit der Frage zu tun hat, weiß ich nicht.</p>
<p>Ich schmeisse zum Thema &quot;Serialisierung&quot; mal &quot;streams&quot; und &quot;operator&lt;&lt;()&quot; und &quot;operator&gt;&gt;()&quot; in die Runde und wünsche eine gute Nacht,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529296</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Sat, 14 Jun 2008 22:26:15 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Sat, 14 Jun 2008 22:29:53 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Was fricky geschrieben hat, finde ich zwar richtig - aber inwieweit es etwas mit der Frage zu tun hat, weiß ich nicht.</p>
</blockquote>
<p>du musst jetz wirklich schnell ins bettchen.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529299</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529299</guid><dc:creator><![CDATA[fricky]]></dc:creator><pubDate>Sat, 14 Jun 2008 22:29:53 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Sat, 14 Jun 2008 22:30:44 GMT]]></title><description><![CDATA[<p>Es gibt <a href="http://www.boost.org/doc/libs/1_35_0/doc/html/any.html" rel="nofollow">boost::any</a>, aber normalerweise muss man eh (auch unter Java) extra Overhead betreiben, wenn man alles wild in einem Container mischt, denn mit nem &quot;Object&quot; kann man nix anfangen und man muss wissen, in was man es casten soll, wenn man es wieder rausholt. Es ist insgesamt also meistens keine so tolle Idee.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529300</guid><dc:creator><![CDATA[Kreppel]]></dc:creator><pubDate>Sat, 14 Jun 2008 22:30:44 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Sat, 14 Jun 2008 22:40:13 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich möchte eine Liste als Speichermanager schreiben und dafür brauche ich natürlich eine allgemeine Ablage für die zu speichernden Objeckte.</p>
</blockquote>
<p>Also wenn ich dich richtig verstanden hab, willst du einfach nur alle deine Objekte von einer Liste verwalten lassen. richtig?</p>
<p>Dann antworte ich darauf nur: &quot;Ein echter Programmierer kann in jeder Sprache Fortran schreiben&quot;.</p>
<p>Sowas macht man in C++ normalerweise nicht. Warum willst du das denn machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529303</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Sat, 14 Jun 2008 22:40:13 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Sat, 14 Jun 2008 22:42:42 GMT]]></title><description><![CDATA[<p>Kreppel schrieb:</p>
<blockquote>
<p>aber normalerweise muss man eh (auch unter Java) extra Overhead betreiben, wenn man alles wild in einem Container mischt, denn mit nem &quot;Object&quot; kann man nix anfangen und man muss wissen, in was man es casten soll, wenn man es wieder rausholt.</p>
</blockquote>
<p>der aufwand ist aber minimal.</p>
<p>Kreppel schrieb:</p>
<blockquote>
<p>Es ist insgesamt also meistens keine so tolle Idee.</p>
</blockquote>
<p>in bezug auf C++ hast du recht. CStoll hat sich immer furchtbar aufgeregt, wenn einer sowas gemacht hat. in Java ist das alles aber kein problem. sind beides halt zwei unterschiedliche systeme mit unterschiedlichen möglichkeiten usw. das kann man so direkt nicht vergleichen.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529304</guid><dc:creator><![CDATA[fricky]]></dc:creator><pubDate>Sat, 14 Jun 2008 22:42:42 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Sun, 15 Jun 2008 04:35:20 GMT]]></title><description><![CDATA[<p>blacksun schrieb:</p>
<blockquote>
<p>Ich möchte eine Liste als Speichermanager schreiben und dafür brauche ich natürlich eine allgemeine Ablage für die zu speichernden Objeckte.</p>
</blockquote>
<p>Wenn ein Speichermanager im Sinn von Arbeitsspeicher gemeint ist, dann void*.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529324</guid><dc:creator><![CDATA[bulletproof]]></dc:creator><pubDate>Sun, 15 Jun 2008 04:35:20 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Sun, 15 Jun 2008 14:57:25 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/23441">@fricky</a>:<br />
Dass es in Java breit akzeptierte Praxis ist wie wild rumzucasten liegt eigentlich nur daran dass es so lange Zeit in Java keine Generics gab. Und nicht daran dass es &quot;in Java kein Problem&quot; wäre. Das Problem gibt es dort genauso.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529536</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529536</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 15 Jun 2008 14:57:25 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Sun, 15 Jun 2008 20:37:45 GMT]]></title><description><![CDATA[<p>fricky schrieb:</p>
<blockquote>
<p>...in Java ist das alles aber kein problem....</p>
</blockquote>
<p>Das würde ich nicht so sagen. IMHO (und nach meiner bescheidenen Java-Erfahrung) ist das &quot;Java-Konzept&quot;</p>
<ul>
<li>die Typinformation erstmal zu &quot;vergessen&quot; (beim Eintragen in den Container) und</li>
<li>dann den &quot;Empfänger&quot; raten zu lassen,</li>
</ul>
<p>durchaus Auslöser für unschönen Code und eine Menge Probleme.</p>
<p>imho macht C++ es da besser und ich finde es ein wenig seltsam, wenn Leute unglaublich viel Energie und &quot;Frickelei&quot; (nicht persönlich gemeint <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> ) dareinstecken, diese Designsicherheit zu umgehen....</p>
<p>Aber es ist vermutlich der Versuch FORTRAN .... ähhh Java in C++ zu programmieren. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Gruß,</p>
<p>Simon2.</p>
<p>P.S.: Aber es stimmt natürlich, wir haben es hier mit unterschiedlichen Philosophien zu tun ... aber gerade deswegen rate ich dazu, in C++ auch die C++-Philosophie zu verwenden - so wie ich auch beim Javaprogrammieren die Javaphilosophie &quot;überstreife&quot; ... nicht, weil ich sie für die bessere hielte, sondern in dem Fall die &quot;passendere&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529732</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Sun, 15 Jun 2008 20:37:45 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Sun, 15 Jun 2008 20:44:21 GMT]]></title><description><![CDATA[<p>im gegensatz zu c++ sind casts in java völlig ungefährlich. alles was schiefgehen könnte ist, dass der cast nicht erlaubt ist und eine exception fliegt. so gruselige sachen wie in c++ können mit casts gar nicht passieren. daher ist die akzeptanz in java wesentlich höher. und bevor es die c++ templates gab, existierten auch nur entweder handgeschnitzte container oder gruseliger code, der mit void* pointern rumhantiert hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529746</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Sun, 15 Jun 2008 20:44:21 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Sun, 15 Jun 2008 21:03:03 GMT]]></title><description><![CDATA[<p>Was &quot;Laufzeitfehler&quot; angeht, stimme ich Dir zu, aber &quot;designtechnisch&quot; sind die Probleme schon da.</p>
<p>thordk schrieb:</p>
<blockquote>
<p>...bevor es die c++ templates gab, existierten auch nur entweder handgeschnitzte container oder gruseliger code, der mit void* pointern rumhantiert hat.</p>
</blockquote>
<p>Definitv.<br />
Allerdings gibt's bei C++ ja templates und die Container schon quasi &quot;von Anfang an&quot;.<br />
(Deswegen bekomme ich auch immer die Krise, dass bei uns in der Firma bei bestimmten Bereichen nur C (und kein C++) eingesetzt werden kann/darf/soll/.... was müssen wir uns da mit häßlichem und unsicheren selbstgeschriebenen Zeug rumschlagen, wo ein C++er einfach ein std::&lt;xyz&gt; hingeschrieben hätte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> )</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529764</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Sun, 15 Jun 2008 21:03:03 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Sun, 15 Jun 2008 22:31:03 GMT]]></title><description><![CDATA[<p>thordk schrieb:</p>
<blockquote>
<p>im gegensatz zu c++ sind casts in java völlig ungefährlich.</p>
</blockquote>
<p>dynamic_cast verhaelt sich aehnlich wie java casts.</p>
<p>und btw, es gibt einen grund warum java generics eingefuehrt hat: weil sie eben viel sicherer sind als lauter void* aeh, ich meine Object referenzen hin und her zu schieben.</p>
<p>klar fliegt &quot;nur&quot; eine exception - aber eine exception im falschen moment bedeutet dennoch, dass man sich davon nicht so leicht erholen kann (vorallem wenn man damit nicht gerechnet hat).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529813</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Sun, 15 Jun 2008 22:31:03 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Sun, 15 Jun 2008 22:52:46 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>fricky schrieb:</p>
<blockquote>
<p>...in Java ist das alles aber kein problem....</p>
</blockquote>
<p>Das würde ich nicht so sagen. IMHO (und nach meiner bescheidenen Java-Erfahrung) ist das &quot;Java-Konzept&quot;</p>
<ul>
<li>die Typinformation erstmal zu &quot;vergessen&quot; (beim Eintragen in den Container) und</li>
<li>dann den &quot;Empfänger&quot; raten zu lassen,</li>
</ul>
<p>durchaus Auslöser für unschönen Code und eine Menge Probleme.</p>
</blockquote>
<p>ne, Java vergisst nicht, welches object das ist. in Java gibts 'instanceof' um zur laufzeit zu testen, wohin man upcasten darf. für compilerchecks diesbezüglich gibts 'generics'. C++ hat ja sowas ähnliches, RTTI und 'typeid', aber das mag irgendwie keiner verwenden. C++-coder machen lieber alles statisch (mit templates) und hassen laufzeit-polymorphismus.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529820</guid><dc:creator><![CDATA[fricky]]></dc:creator><pubDate>Sun, 15 Jun 2008 22:52:46 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Mon, 16 Jun 2008 04:34:10 GMT]]></title><description><![CDATA[<p>würde man den ein objekt serialisieren? so etwa?</p>
<pre><code class="language-cpp">class DATA{

int a,b,c;
float d,e,f;

DATA(){}
~DATA(){}
void funk(..){}
.
.
.
};

DATA obj;

ofstream out(&quot;test&quot;, ios::out | ios::binary); 
out.write((char*)&amp;obj, sizeof(DATA);
</code></pre>
<p>glaube nich das das geHT!?!?!?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529848</guid><dc:creator><![CDATA[Serialisieren]]></dc:creator><pubDate>Mon, 16 Jun 2008 04:34:10 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Mon, 16 Jun 2008 06:53:09 GMT]]></title><description><![CDATA[<p>fricky schrieb:</p>
<blockquote>
<p>...<br />
ne, Java vergisst nicht, welches object das ist....</p>
</blockquote>
<p>Das habe ich auch nicht behauptet.<br />
Es ist nur so, dass der &quot;Empfänger&quot; raten muss, was für ein Objekt denn da nun so als nächstes in der Hand hat und dann entscheiden (da gibt's auch kein Standardvorgehen), ob er unpassende Objekte einfach ignorieren, mit einem Fehler abbrechen oder versuchen soll, auf irgendetwas anderes zu casten.<br />
Blöderweise hat man keine Möglichkeit mehr, die Fehlerursache selbst (falsches Objekt übergeben) noch zu korrigieren.<br />
Ergo: Der Programmierer vergisst, welchen Typ das Objekt hat.<br />
(wenn &quot;Java&quot; das vergessen würde, hätte der Programmierer ja nicht einmal mehr die Chance, halbwegs sicher zu raten)<br />
... und das Vorgehen finde ich nach wie vor für Quatsch. Aber es ist eben zu Zeiten der Javaentstehung nicht anders möglich gewesen.<br />
Im Prinzip ist das nicht anders als zu void*-Listen zu C-Zeiten (allerdings garniert mit einer Runtime, die einem die &quot;Typflag&quot;-Verwaltung abnimmt).</p>
<p>fricky schrieb:</p>
<blockquote>
<p>...RTTI und 'typeid', aber das mag irgendwie keiner verwenden. C++-coder machen lieber alles statisch (mit templates) ...</p>
</blockquote>
<p>zurecht, weil C++-Programmierer Programmierfehler halt lieber zur Compile- als zur Laufzeit bekommen ... weil sie seltsamerweise davon ausgehen, dass der Programmierer damit mehr anfangen kann als der Anwender.</p>
<p>fricky schrieb:</p>
<blockquote>
<p>...hassen laufzeit-polymorphismus.<br />
:)...</p>
</blockquote>
<p>Im Gegenteil. Sie lieben Laufzeitpolymorphie (schau Dich nur mal hier im Forum an, wie oft unter dem Schlagwort &quot;virtual&quot; genau dazu geraten wird) ...<br />
was sie nicht lieben, ist Problempropagation vom Entwickler zum Anwender. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529890</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529890</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 16 Jun 2008 06:53:09 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Mon, 16 Jun 2008 06:50:22 GMT]]></title><description><![CDATA[<p>Serialisieren schrieb:</p>
<blockquote>
<p>würde man den ein objekt serialisieren? ...</p>
</blockquote>
<p>Auch hier nochmal: Da es in C++ kein einheitliches (compiler-/plattformübergreifendes) Objektlayout gibt, rate ich dringend von einem &quot;Binärspeichern&quot; ab. Das mag immer erstmal die erste Idee sein, sie ist aber bestimmt nicht die Beste.</p>
<p>Mein Vorschlag: operator&lt;&lt;() und operator&gt;&gt;() überladen und das Teil so Wegschreiben und Einlesen, wie man es auch über die Konsole tut.<br />
(Damit sind zwar die Files auch noch nicht Codepage-unabhängig, aber ansonsten schon weitestgehend compiler-/plattformunabhängig und für Codepage-Konvertierung (die sehr viel seltener sind) gibt es einfach und allgemeine Tools)</p>
<p><a href="http://www.parashift.com/c++-faq-lite/serialization.html" rel="nofollow">Hier</a> übrigens mal eine (wie ich finde) recht gute Auseinandersetzung mit dem Thema...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529893</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 16 Jun 2008 06:50:22 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Mon, 16 Jun 2008 07:01:35 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>fricky schrieb:</p>
<blockquote>
<p>...<br />
ne, Java vergisst nicht, welches object das ist....</p>
</blockquote>
<p>Das habe ich auch nicht behauptet.<br />
Es ist nur so, dass der &quot;Empfänger&quot; raten muss, was für ein Objekt denn da nun so als nächstes in der Hand hat und dann entscheiden</p>
</blockquote>
<p>er muss nix raten. er kann das objekt fragen: &quot;wer bist du?&quot;</p>
<p>Simon2 schrieb:</p>
<blockquote>
<p>fricky schrieb:</p>
<blockquote>
<p>...RTTI und 'typeid', aber das mag irgendwie keiner verwenden. C++-coder machen lieber alles statisch (mit templates) ...</p>
</blockquote>
<p>zurecht, weil C++-Programmierer Programmierfehler halt lieber zur Compile- als zur Laufzeit bekommen ... weil sie seltsamerweise davon ausgehen, dass der Programmierer damit mehr anfangen kann als der Anwender.</p>
</blockquote>
<p>das ist aber eine sehr seltsame erklärung. die anderen sagen immer, RTTI u.ä. soll man nicht nehmen, weil es das programm ausbremsen würde.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529897</guid><dc:creator><![CDATA[fricky]]></dc:creator><pubDate>Mon, 16 Jun 2008 07:01:35 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Mon, 16 Jun 2008 08:14:32 GMT]]></title><description><![CDATA[<p>fricky schrieb:</p>
<blockquote>
<p>...<br />
er muss nix raten. er kann das objekt fragen: &quot;wer bist du?&quot;...</p>
</blockquote>
<p>Und dann ?<br />
Was macht denn ein Programm, das Autoteile verwaltet, wenn das Objekt sich als &quot;Windelwechsler-Objekt&quot; zurückmeldet ?<br />
Erstmal per Reflection die Methoden abfragen und dann mit Windel wechseln weitermachen ?</p>
<p>Simon2 schrieb:</p>
<blockquote>
<p>...das ist aber eine sehr seltsame erklärung. die anderen sagen immer, RTTI u.ä. soll man nicht nehmen, weil es das programm ausbremsen würde.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Das stimmt natürlich <em>auch</em> ... eine Technik kann ja mehr als einen Nachteil haben. Wie man das gewichtet, bleibt jedem selbst überlassen.</p>
<p>P.S.: Ich glaub übrigens nicht, dass RTTI in Java weniger performancefressend ist ... aber da hat man eben nichts Anderes.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529902</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 16 Jun 2008 08:14:32 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Mon, 16 Jun 2008 07:32:56 GMT]]></title><description><![CDATA[<p>fricky schrieb:</p>
<blockquote>
<p>er muss nix raten. er kann das objekt fragen: &quot;wer bist du?&quot;</p>
</blockquote>
<p>Das kann man ja, wie du schon angedeutet hast, mit C++ auch machen.</p>
<pre><code class="language-cpp">std::vector&lt;boost::any&gt; myObjects;
//...
for (size_t i = 0; i &lt; myObjects.size(); ++i)
{
    const std::type_info &amp;info = myObjects[i].type();//Wer bist du?
    //...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1529908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529908</guid><dc:creator><![CDATA[Kreppel]]></dc:creator><pubDate>Mon, 16 Jun 2008 07:32:56 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Mon, 16 Jun 2008 07:40:36 GMT]]></title><description><![CDATA[<p>Weiß nicht, ob es hier schon genannt wurde. Aber Boosts Serialization Library könnte vielleicht helfen? Es macht die Sache zwar nicht so &quot;einfach&quot; wie in Java, aber es kann einen zumindest als C++ler unterstützen, sich ein mächtigeres Serialization-System zu bauen:<br />
<a href="http://www.boost.org/doc/libs/1_35_0/libs/serialization/doc/index.html" rel="nofollow">http://www.boost.org/doc/libs/1_35_0/libs/serialization/doc/index.html</a></p>
<p>Aber wie Simon2 auch schon sagte, man kann ja erstmal die Stream-Operatoren überladen und von Hand was basteln. Wenn man nur wenige Klassen hat, die serialisiert werden können sollen, ist das ja schnell gemacht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529911</guid><dc:creator><![CDATA[BarnieGeroellheimer]]></dc:creator><pubDate>Mon, 16 Jun 2008 07:40:36 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Mon, 16 Jun 2008 08:19:24 GMT]]></title><description><![CDATA[<p>BarnieGeroellheimer schrieb:</p>
<blockquote>
<p>...<br />
Aber wie Simon2 auch schon sagte, man kann ja erstmal die Stream-Operatoren überladen und von Hand was basteln. Wenn man nur wenige Klassen hat, die serialisiert werden können sollen, ist das ja schnell gemacht.</p>
</blockquote>
<p>Hmmm, muss ich das in Java nicht auch machen ? (also: serialize() implementieren)</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529930</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 16 Jun 2008 08:19:24 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Mon, 16 Jun 2008 08:35:25 GMT]]></title><description><![CDATA[<p>Jain! Man muß nur <em>implements Serializable</em> in seine Klasse hauen (evtl. noch diese komische neue Serializable-ID) und dann funktioniert es <em>automatisch</em>. Also wirklich hacken muß man da nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529937</guid><dc:creator><![CDATA[BarnieGeroellheimer]]></dc:creator><pubDate>Mon, 16 Jun 2008 08:35:25 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Mon, 16 Jun 2008 08:36:20 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Hmmm, muss ich das in Java nicht auch machen ? (also: serialize() implementieren)</p>
</blockquote>
<p>Nicht wirklich. Serializables haben immer ne default implementierung die alles nicht transienten variablen rausschreibt.</p>
<p>Man kann Serialisierung in Java aber auch mit Reflection einmal für alle Objekte die es jemals geben wird machen, siehe Hibernate.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529939</guid><dc:creator><![CDATA[Bitte geben Sie einen Be]]></dc:creator><pubDate>Mon, 16 Jun 2008 08:36:20 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Mon, 16 Jun 2008 09:32:19 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>fricky schrieb:</p>
<blockquote>
<p>...<br />
er muss nix raten. er kann das objekt fragen: &quot;wer bist du?&quot;...</p>
</blockquote>
<p>Und dann ?<br />
Was macht denn ein Programm, das Autoteile verwaltet, wenn das Objekt sich als &quot;Windelwechsler-Objekt&quot; zurückmeldet ?<br />
Erstmal per Reflection die Methoden abfragen und dann mit Windel wechseln weitermachen ?</p>
</blockquote>
<p>sei doch nicht albern. was hat der windelwechsler zwischen den autoteilen verloren?</p>
<p>Simon2 schrieb:</p>
<blockquote>
<p>P.S.: Ich glaub übrigens nicht, dass RTTI in Java weniger performancefressend ist ... aber da hat man eben nichts Anderes.</p>
</blockquote>
<p>jedenfalls ist es nicht so schlimm, dass einem davon abgeraten wird. Javaprogramme sind sehr vieles dynamischer als C++-codes, benutzen oft on-the-fly class loaders, beans, etc. das ist da alles ganz normal.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529965</guid><dc:creator><![CDATA[fricky]]></dc:creator><pubDate>Mon, 16 Jun 2008 09:32:19 GMT</pubDate></item><item><title><![CDATA[Reply to Object wie in Java? on Mon, 16 Jun 2008 11:44:11 GMT]]></title><description><![CDATA[<p>fricky schrieb:</p>
<blockquote>
<p>...sei doch nicht albern. was hat der windelwechsler zwischen den autoteilen verloren?...</p>
</blockquote>
<p>Ja, genau <em>das</em> ist ja die Frage, die man den Java-Container-Designern stellen muss.<br />
Da Du aber als &quot;Rausnehmer&quot; alles erwarten musst (außer primitive Typen, aber eben auch &quot;WindelwechselObject&quot;), muss Dein Programm auch damit klarkommen (und zwar jedes wieder neu). In C++ sichert mir mein vector&lt;Autoteil*&gt; in meiner Schnittstelle schon zu, dass ich auf jeden Fall eine Autoteil-Schnittstelle vorfinde....</p>
<p>fricky schrieb:</p>
<blockquote>
<p>...jedenfalls ist es nicht so schlimm, dass einem davon abgeraten wird. ...</p>
</blockquote>
<p>Naja, man hat halt keine Alternative. :p <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Aber prinzipiell entspricht das eben der oben schon angesprochenen &quot;Java-Philosophie&quot;, alles zur Laufzeit zu machen/entscheiden (wird dann &quot;dynamisch&quot; genannt) - hat seine Vor- und seine Nachteile.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1530032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1530032</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 16 Jun 2008 11:44:11 GMT</pubDate></item></channel></rss>