<?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[Objekt speichert snach Konstruktor Werte nicht oder falsch?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse Spieler erstellt dessen Konstruktor so aussieht:</p>
<pre><code>Spieler::Spieler(std::string sName){
	this-&gt;sName = sName;
	this-&gt;oWuerfel = &amp;Wuerfel::Wuerfel(1, 6);
	this-&gt;iGeld = 6000000;
	this-&gt;iPosition = 1;
	this-&gt;bAussetzen = false;
}
</code></pre>
<p>Wenn ich im Debugger das Programm schrittweise ausführe ist alles während des Durchlaufs im Konstruktor korrekt. Nach dem Durchlauf des Konstruktors ist aber sName immer leer und der Wuerfel hat nicht die Grenzen 1 und 6 sondern -858993460 und -858993460. die anderen Werte stimmen.</p>
<p>Der Aufruf des Konstruktors schaut so aus:</p>
<pre><code>Spieler* pSpieler[iAnzSpieler];
[...]
printf(&quot;Wie viele Spieler?(2-10)\n&quot;);
	scanf(&quot;%d&quot;, &amp;iAnzahlSpieler);fflush(stdin);
[...]
for (int i = 1; i&lt;=iAnzahlSpieler; i++){
			printf(&quot;Bitte Namen von Spieler %d eingeben\n&quot;, i);
			std::cin &gt;&gt; sName;
			pSpieler[i-1] = &amp;Spieler::Spieler(sName);
}
</code></pre>
<p>In pSpieler[i-1] sind die Spieler zwar angelegt, allerdings steht nun bei sName &quot;&quot; und bei dem Würfel ein Würfel mit falscher Grenze.</p>
<p>Naja hat jemand eine Idee?</p>
<p>Gruß hyperion</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/296419/objekt-speichert-snach-konstruktor-werte-nicht-oder-falsch</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 22:43:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/296419.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 04 Dec 2011 16:01:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekt speichert snach Konstruktor Werte nicht oder falsch? on Sun, 04 Dec 2011 16:01:08 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse Spieler erstellt dessen Konstruktor so aussieht:</p>
<pre><code>Spieler::Spieler(std::string sName){
	this-&gt;sName = sName;
	this-&gt;oWuerfel = &amp;Wuerfel::Wuerfel(1, 6);
	this-&gt;iGeld = 6000000;
	this-&gt;iPosition = 1;
	this-&gt;bAussetzen = false;
}
</code></pre>
<p>Wenn ich im Debugger das Programm schrittweise ausführe ist alles während des Durchlaufs im Konstruktor korrekt. Nach dem Durchlauf des Konstruktors ist aber sName immer leer und der Wuerfel hat nicht die Grenzen 1 und 6 sondern -858993460 und -858993460. die anderen Werte stimmen.</p>
<p>Der Aufruf des Konstruktors schaut so aus:</p>
<pre><code>Spieler* pSpieler[iAnzSpieler];
[...]
printf(&quot;Wie viele Spieler?(2-10)\n&quot;);
	scanf(&quot;%d&quot;, &amp;iAnzahlSpieler);fflush(stdin);
[...]
for (int i = 1; i&lt;=iAnzahlSpieler; i++){
			printf(&quot;Bitte Namen von Spieler %d eingeben\n&quot;, i);
			std::cin &gt;&gt; sName;
			pSpieler[i-1] = &amp;Spieler::Spieler(sName);
}
</code></pre>
<p>In pSpieler[i-1] sind die Spieler zwar angelegt, allerdings steht nun bei sName &quot;&quot; und bei dem Würfel ein Würfel mit falscher Grenze.</p>
<p>Naja hat jemand eine Idee?</p>
<p>Gruß hyperion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2152855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152855</guid><dc:creator><![CDATA[hyperion1]]></dc:creator><pubDate>Sun, 04 Dec 2011 16:01:08 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt speichert snach Konstruktor Werte nicht oder falsch? on Sun, 04 Dec 2011 16:06:47 GMT]]></title><description><![CDATA[<p>Wenn du Pointer nicht verstehst, dann nutze sie auch nicht. Der Spieler den du in der Schleife erstellst existiert nur in seinem Scope. Du musst ihn kopieren, keinen Pointer auf ihn Speichern.</p>
<pre><code class="language-cpp">std::vector&lt;Spieler&gt; spieler;
for ()
{
  spieler.push_back(Spieler(&quot;...&quot;));
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2152859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152859</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 04 Dec 2011 16:06:47 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt speichert snach Konstruktor Werte nicht oder falsch? on Sun, 04 Dec 2011 16:11:53 GMT]]></title><description><![CDATA[<p>Ich sehe da zwei Konstruktoraufrufe und deren Ergebnis wird sofort verworfen. Aber ich sehe viele schlimme Sachen aus der Jürgen Wolf Schule der Pfuscherei:</p>
<p>Google die Sachen, die du nicht verstehst:</p>
<ul>
<li>Dein Konstruktor sollte wohl eher eine Initialisierungsliste sein.</li>
<li>Ungarische Notation in C++? Ob das so eine gute Idee ist?</li>
<li>Was soll dies tun: <code>this-&gt;oWuerfel = &amp;Wuerfel::Wuerfel(1, 6);</code> ? Dies ist wohl die Zeile, die du meinst. Dies konstruiert ein Würfelobjekt, weist dessen Adresse oWuerfel zu und zerstört dann den Wuerfel. Pointerpfuscherei.</li>
<li>`Spieler* pSpieler[iAnzSpieler];</li>
</ul>
<p>` Ein Array von Zeigern? Sicher, dass du dies möchtest?.</p>
<ul>
<li>`Spieler* pSpieler[iAnzSpieler];</li>
</ul>
<p>` Arrays variabler Länge gibt es als Erweiterung gewisser Compiler, aber sind kein reguläres C++. Nimm std::vector.</p>
<ul>
<li>printf in C++. Warum?</li>
<li>scanf in C++. Warum?</li>
<li>scanf und std::cin gemischt. Hast du das überhaupt selber geschrieben oder aus Programmfragmenten aus dem Internet zusammengeklickt?</li>
<li>fflush(stdin). Undefiniertes Verhalten Ahoi. Zumal das Array variabler Länge weiter oben andeutet, dass du vermutlich den GCC als Compiler benutzt. fflush(stdin) ist aber eine Compilererweiterung des MSVC. Dieser wiederum kann keine VLAs. Also geht da auf jeden Fall etwas schief.</li>
<li><code>pSpieler[i-1] = &amp;Spieler::Spieler(sName);</code> Nochmal so ein Pointerpfusch genau wie oben. Wo hast du diesen Mist her? Was soll das erreichen? Wieso machst du es nicht ganz normal?</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/2152864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152864</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 04 Dec 2011 16:11:53 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt speichert snach Konstruktor Werte nicht oder falsch? on Sun, 04 Dec 2011 16:30:00 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Dies ist wohl die Zeile, die du meinst. Dies konstruiert ein Würfelobjekt, weist dessen Adresse oWuerfel zu und zerstört dann den Wuerfel. Pointerpfuscherei.</p>
</blockquote>
<p>Nein, das ist schlicht und einfach kein gültiges C++ <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2152873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152873</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 04 Dec 2011 16:30:00 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt speichert snach Konstruktor Werte nicht oder falsch? on Sun, 04 Dec 2011 16:44:33 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Danke für die Antworten. Ja es ist richtig, ich kann vermtulich vieles besser machen.</p>
<blockquote>
<p>Dein Konstruktor sollte wohl eher eine Initialisierungsliste sein.</p>
</blockquote>
<p>Initialisierungslisten kannte ich bisher noch nicht. Ist aber hier ich nicht für den Fehler verantwortlich.</p>
<blockquote>
<p>Ungarische Notation in C++? Ob das so eine gute Idee ist?</p>
</blockquote>
<p>Naja mein Professor meint ja und dass etwa 80% der Unternehmen das als Programmierrichtlinie verwenden. Sicherlich eine subjektive Meinung.</p>
<blockquote>
<p>Was soll dies tun: this-&gt;oWuerfel = &amp;Wuerfel::Wuerfel(1, 6);? Dies ist wohl die Zeile, die du meinst. Dies konstruiert ein Würfelobjekt, weist dessen Adresse oWuerfel zu und zerstört dann den Wuerfel. Pointerpfuscherei.</p>
</blockquote>
<p>Nach meinem Verständnis wird von rechts nach links gearbeitet. Grob:<br />
-Wuerfel::Wuerfel(1, 6) //Würfel wird erzeug<br />
-&amp;Wuerfel::Wuerfel(1, 6) //Speicherzelle von dem erzeugten Würfel<br />
-this-&gt;oWuerfel = &amp;Wuerfel::Wuerfel(1, 6) //Speicherzelle des Würfels wird der Membervariablen zugewiesen.<br />
Dass der Würfel danach zerstört wird ist mir so nicht bekannt. Ich würde es ja wirklich gerne vermeiden mit Pointern zu arbeiten. Ich komme ja eignetlich aus der Java Welt, aber im Netz fidne ich hauptsächlich Beispiele die mit Pointern arbeiten. Ich habe auch schon versucht ohne Pointer zu arbeiten, aber dann brauchte ich immer auch einen Standardkonstruktor, da z.B. Spieler* pSpieler[iAnzSpieler]; erlaubt ist, Spieler spieler[iAnzSpieler] aber nicht. Ich würde es aber gerne vermeiden wollen einen Standardkonstruktor zu verwenden.</p>
<blockquote>
<p>Spieler* pSpieler[iAnzSpieler]; Ein Array von Zeigern? Sicher, dass du dies möchtest?.</p>
</blockquote>
<p>Naja ich habe mich dafür aufgrund der Standardkonstruktorproblematik entschieden. Spieler spieler[3]; wäre mir persönlich 10 mal lieber.</p>
<blockquote>
<p>Spieler* pSpieler[iAnzSpieler]; Arrays variabler Länge gibt es als Erweiterung gewisser Compiler, aber sind kein reguläres C++. Nimm std::vector.</p>
</blockquote>
<p>Eine paar Zeilen weiter oben steht int const iAnzSpieler = 10; Ich dachte mir ich ziehe die Konfiguration nach oben in den Code, damit man nicht irgendwo in der mitte suchen muss. Die Anzahl ist also quasi fix.</p>
<blockquote>
<p>printf in C++. Warum?<br />
scanf in C++. Warum?</p>
</blockquote>
<p>Dass sind die Wege die ich bisher kannte um Werte einzulesen und auszugeben.</p>
<blockquote>
<p>scanf und std::cin gemischt. Hast du das überhaupt selber geschrieben oder aus Programmfragmenten aus dem Internet zusammengeklickt?</p>
</blockquote>
<p>Ja habe ich selbst geschrieben. Am Anfang habe ich nur mit scanf und printf gearbeitet, bis ich dann ein Problem bei den strings hatte die ich nicht mit scanf einlesen konnte. Deshalb habe ich dann cin und cout benutzt.</p>
<blockquote>
<p>fflush(stdin). Undefiniertes Verhalten Ahoi. Zumal das Array variabler Länge weiter oben andeutet, dass du vermutlich den GCC als Compiler benutzt. fflush(stdin) ist aber eine Compilererweiterung des MSVC. Dieser wiederum kann keine VLAs. Also geht da auf jeden Fall etwas schief.</p>
</blockquote>
<p>Der Professor hat gemeint, wir sollen fflush(stdin) nach jeder Verwendung von scanf schreiben, da ansonsten die Konsole nicht mehr &quot;anhält&quot;, wenn man das nächste mal getchar() schreibt.</p>
<blockquote>
<p>pSpieler[i-1] = &amp;Spieler::Spieler(sName); Nochmal so ein Pointerpfusch genau wie oben. Wo hast du diesen Mist her? Was soll das erreichen? Wieso machst du es nicht ganz normal?</p>
</blockquote>
<p>Weil ich auf den Standardkonstruktor verzichten will und nur einen Konstruktor erlauben bei dem der Spieler mit richtigen Werten erstellt wird.</p>
<blockquote>
<p>Wenn du Pointer nicht verstehst, dann nutze sie auch nicht. Der Spieler den du in der Schleife erstellst existiert nur in seinem Scope. Du musst ihn kopieren, keinen Pointer auf ihn Speichern.</p>
</blockquote>
<p>Die Einstellung finde ich falsch. Ich arbeite nicht für eine Firma, sondern mache ein Übungsprogramm. Da finde ich es genau richtig neue Sachen auszuprobieren. Die Dekleration des Spielerarrays ist doch außerhalb der Schleife, dann reicht mir der Scope doch. Aber ich vermute Du meintest damit etwas anderes.</p>
<p>Gruß hyperion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2152884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152884</guid><dc:creator><![CDATA[hyperion1]]></dc:creator><pubDate>Sun, 04 Dec 2011 16:44:33 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt speichert snach Konstruktor Werte nicht oder falsch? on Sun, 04 Dec 2011 17:36:53 GMT]]></title><description><![CDATA[<p>hyperion1 schrieb:</p>
<blockquote>
<p>Initialisierungslisten kannte ich bisher noch nicht. Ist aber hier ich nicht für den Fehler verantwortlich.</p>
</blockquote>
<p>Komische Lernreihenfolge. Jetzt wo du sie kennst, nutze sie.</p>
<p>hyperion1 schrieb:</p>
<blockquote>
<p>Naja mein Professor meint ja und dass etwa 80% der Unternehmen das als Programmierrichtlinie verwenden. Sicherlich eine subjektive Meinung.</p>
</blockquote>
<p>Kannst du uns mal <strong>ein</strong> Unternehmen nennen, dass in C**++** entwickelt, und durchgängig auf die ungarische Notation setzt?</p>
<p>hyperion1 schrieb:</p>
<blockquote>
<p>Nach meinem Verständnis wird von rechts nach links gearbeitet.</p>
</blockquote>
<p>Das stimmt. Aber du erzeugst ein Temporäres Objekt und speicherst die Adresse. Dass das nicht klappen kann, sollte doch einleuchtend sein?</p>
<p>hyperion1 schrieb:</p>
<blockquote>
<p>Eine paar Zeilen weiter oben steht int const iAnzSpieler = 10; Ich dachte mir ich ziehe die Konfiguration nach oben in den Code, damit man nicht irgendwo in der mitte suchen muss. Die Anzahl ist also quasi fix.</p>
</blockquote>
<p>Nimm trotzdem std::vector und lass den Nutzer entscheiden wie viele Spieler es gibt. Oder prüfe vector.size() vs SpielerZahl. Oder nimm wenigstens std::unique_ptr, aber das ist eine andere Geschichte, nimm eine Lösung von oben. <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>hyperion1 schrieb:</p>
<blockquote>
<p>Deshalb habe ich dann cin und cout benutzt.</p>
</blockquote>
<p>Nutze ab jetzt immer std::cin und std::cout.</p>
<p>hyperion1 schrieb:</p>
<blockquote>
<p>Der Professor hat gemeint, wir sollen fflush(stdin) nach jeder Verwendung von scanf schreiben, da ansonsten die Konsole nicht mehr &quot;anhält&quot;, wenn man das nächste mal getchar() schreibt.</p>
</blockquote>
<p>*schnief* ernsthaft? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>hyperion1 schrieb:</p>
<blockquote>
<p>Weil ich auf den Standardkonstruktor verzichten will und nur einen Konstruktor erlauben bei dem der Spieler mit richtigen Werten erstellt wird.</p>
</blockquote>
<p>Das hat damit nichts zu tun. Siehe meinen Code oben.</p>
<p>hyperion1 schrieb:</p>
<blockquote>
<p>Die Einstellung finde ich falsch. Ich arbeite nicht für eine Firma, sondern mache ein Übungsprogramm.</p>
</blockquote>
<p>Trotzdem bringt es nichts, etwas, das man noch nicht mal ansatzweise durchschaut hat, in irgendeinem Kontext zu verwenden. Erst mal die einzelnen Sprachelemente testen und sie hinterher auf die Aufgabe übertragen.</p>
<p>Edit:<br />
Mal zur verdeutlichung:</p>
<pre><code class="language-cpp">int *p; // Zeiger auf ein int, zeigt irgendwo hin.
{ // neuer Scope
  int i = 5; // Speicherplatz für i wird reserviert.
  p = &amp;i; // p zeigt jetzt auf i
  std::cout &lt;&lt; i &lt;&lt; &quot; = &quot; &lt;&lt; *p &lt;&lt; '\n'; // Soweit alles gültig.
  std::cout &lt;&lt; &amp;i &lt;&lt; &quot; = &quot; &lt;&lt; p &lt;&lt; '\n'; // Die Adresse von i
} // Hier wird i zerstört
std::cout &lt;&lt; *p &lt;&lt; '\n'; // Autsch! p zeigt noch auf i, aber i existiert nicht mehr!
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2152899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152899</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 04 Dec 2011 17:36:53 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt speichert snach Konstruktor Werte nicht oder falsch? on Sun, 04 Dec 2011 17:18:08 GMT]]></title><description><![CDATA[<p>hyperion1 schrieb:</p>
<blockquote>
<p>Naja mein Professor meint ja und dass etwa 80% der Unternehmen das als Programmierrichtlinie verwenden. Sicherlich eine subjektive Meinung.</p>
</blockquote>
<p>Dein Professor ist ein Idiot.</p>
<p>hyperion1 schrieb:</p>
<blockquote>
<p>Nach meinem Verständnis wird von rechts nach links gearbeitet. Grob:<br />
-Wuerfel::Wuerfel(1, 6) //Würfel wird erzeug</p>
</blockquote>
<p>Hier wird nix erzeugt, weil das kein gültiger Konstruktoraufruf ist. Es muss Wuerfel(1, 6) heißen.</p>
<p>hyperion1 schrieb:</p>
<blockquote>
<p>-&amp;Wuerfel::Wuerfel(1, 6) //Speicherzelle von dem erzeugten Würfel</p>
</blockquote>
<p>Ein ordentlicher Compiler warnt vor sowas. <a href="http://ideone.com/oCMDY" rel="nofollow">http://ideone.com/oCMDY</a></p>
<p>hyperion1 schrieb:</p>
<blockquote>
<p>Der Professor hat gemeint...</p>
</blockquote>
<p>Der Professor ist ein Idiot.</p>
<p>Zusammenfassung: Der Professor ist scheiße, der Compiler ist scheiße. Wechsle am besten beides.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2152911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152911</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 04 Dec 2011 17:18:08 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt speichert snach Konstruktor Werte nicht oder falsch? on Sun, 04 Dec 2011 18:49:44 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Danke, ich habe eure Tipps nun zum Großteil umgesetzt. Es funktioniert auch soweit, sofern man es akzeptiert einen Standardkonstruktor bereitzustellen.</p>
<p>Gruß hyperion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2152968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152968</guid><dc:creator><![CDATA[hyperion1]]></dc:creator><pubDate>Sun, 04 Dec 2011 18:49:44 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt speichert snach Konstruktor Werte nicht oder falsch? on Sun, 04 Dec 2011 19:49:10 GMT]]></title><description><![CDATA[<p>hyperion1 schrieb:</p>
<blockquote>
<p>akzeptiert einen Standardkonstruktor bereitzustellen.</p>
</blockquote>
<pre><code class="language-cpp">class Player
{
  std::string name_;
public:
  Player(const std::string &amp;name)
    : name_(name) // C++11 mit move
  {}
};

int main()
{
  const unsigned player_count = 8;
  std::vector&lt;Player&gt; players;
  while (players.size() != player_count)
  {
    std::cout &lt;&lt; &quot;Please enter player name: &quot;;
    std::string name;
    std::cin &gt;&gt; name;
    player.push_back(Player(name)); // C++11 mit move
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2153010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153010</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 04 Dec 2011 19:49:10 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt speichert snach Konstruktor Werte nicht oder falsch? on Sun, 04 Dec 2011 21:23:47 GMT]]></title><description><![CDATA[<p>Kannst du nochmal erklären, was du für oder gegen Standardkonstruktoren hast? Entweder das Objekt lässt sich sinnvoll ohne Angabe von Parametern initialisieren oder eben nicht. Das ist Design, keine technische Notwendigkeit. Wenn du aus technischen Gründen einen Defaultkonstruktor brauchst, obwohl du keinen möchtest, dann machst du etwas falsch. So ein Fall wäre z.B. die Benutzung roher Arrays. Zufällig ist dies genau, was du tust. Habe ich aber schon was zu geschrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153063</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153063</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 04 Dec 2011 21:23:47 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt speichert snach Konstruktor Werte nicht oder falsch? on Sun, 04 Dec 2011 21:30:01 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Kannst du nochmal erklären, was du für oder gegen Standardkonstruktoren hast? Entweder das Objekt lässt sich sinnvoll ohne Angabe von Parametern initialisieren oder eben nicht. Das ist Design, keine technische Notwendigkeit. Wenn du aus technischen Gründen einen Defaultkonstruktor brauchst, obwohl du keinen möchtest, dann machst du etwas falsch. So ein Fall wäre z.B. die Benutzung roher Arrays. Zufällig ist dies genau, was du tust. Habe ich aber schon was zu geschrieben.</p>
</blockquote>
<p>er wird vrmtl std::vector falsch verwenden (macht irgendwas, was ein resize zur Folge hat - ich vermute mal den falschen ctor aufrufen^^)</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153070</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 04 Dec 2011 21:30:01 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt speichert snach Konstruktor Werte nicht oder falsch? on Mon, 05 Dec 2011 09:41:17 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>hyperion1 schrieb:</p>
<blockquote>
<p>&amp;Wuerfel::Wuerfel(1, 6) //Speicherzelle von dem erzeugten Würfel</p>
</blockquote>
<p>Ein ordentlicher Compiler warnt vor sowas. <a href="http://ideone.com/oCMDY" rel="nofollow">http://ideone.com/oCMDY</a></p>
</blockquote>
<p>Ich wundere mich gerade, dass das überhaupt kompiliert (wenn auch mit Warnung). Ich hätte gedacht, so'was geht nur beim Microsoft-Compiler mit eingeschalteten Erweiterungen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153175</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Mon, 05 Dec 2011 09:41:17 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt speichert snach Konstruktor Werte nicht oder falsch? on Mon, 05 Dec 2011 09:42:12 GMT]]></title><description><![CDATA[<p>Bei user-defined RValues geht das. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2153176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153176</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Mon, 05 Dec 2011 09:42:12 GMT</pubDate></item></channel></rss>