<?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[Element einem Array hinten anhängen]]></title><description><![CDATA[<p>Hallo!</p>
<p>Wie kann ich einem Array ein Element hinten anhängen?<br />
Ich kann keine STL oder sowas in der Art benutzen.</p>
<p>Hier mein Ansatz:</p>
<pre><code>CGiro giro_konten[255]; // Array aus meinem eigenen Datentyp
	int i = 0;
	while( i &lt; 255 ) {
		if( giro_konten[i] == '\0' ) {
			cout &lt;&lt; i &lt;&lt; &quot; ist leer\n&quot;;
		}
	}
</code></pre>
<p>Das geht aber nicht, da kommen ganz eigenartige Fehler, die ich nicht verstehe:</p>
<blockquote>
<p>1&gt;c:\dokumente und einstellungen\root\workspace\gse1\test.cpp(95) : error C2784: &quot;bool std::operator ==(const std::basic_string&lt;_Elem,_Traits,_Alloc&gt; &amp;,const _Elem *)&quot;: template-Argument für &quot;const std::basic_string&lt;_Elem,_Traits,_Alloc&gt; &amp;&quot; konnte nicht von &quot;CGiro&quot; hergeleitet werden.<br />
1&gt; c:\programme\microsoft visual studio 9.0\vc\include\string(90): Siehe Deklaration von 'std::operator =='</p>
</blockquote>
<p>Das liegt wahrscheinlich daran, dass undefinierte Elemente nicht einfach die 0 enthalten, so wie es bei einem Char-Array ist.</p>
<p>Gürße, pktm</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/209797/element-einem-array-hinten-anhängen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 00:20:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/209797.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 03 Apr 2008 13:51:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Element einem Array hinten anhängen on Thu, 03 Apr 2008 13:51:39 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Wie kann ich einem Array ein Element hinten anhängen?<br />
Ich kann keine STL oder sowas in der Art benutzen.</p>
<p>Hier mein Ansatz:</p>
<pre><code>CGiro giro_konten[255]; // Array aus meinem eigenen Datentyp
	int i = 0;
	while( i &lt; 255 ) {
		if( giro_konten[i] == '\0' ) {
			cout &lt;&lt; i &lt;&lt; &quot; ist leer\n&quot;;
		}
	}
</code></pre>
<p>Das geht aber nicht, da kommen ganz eigenartige Fehler, die ich nicht verstehe:</p>
<blockquote>
<p>1&gt;c:\dokumente und einstellungen\root\workspace\gse1\test.cpp(95) : error C2784: &quot;bool std::operator ==(const std::basic_string&lt;_Elem,_Traits,_Alloc&gt; &amp;,const _Elem *)&quot;: template-Argument für &quot;const std::basic_string&lt;_Elem,_Traits,_Alloc&gt; &amp;&quot; konnte nicht von &quot;CGiro&quot; hergeleitet werden.<br />
1&gt; c:\programme\microsoft visual studio 9.0\vc\include\string(90): Siehe Deklaration von 'std::operator =='</p>
</blockquote>
<p>Das liegt wahrscheinlich daran, dass undefinierte Elemente nicht einfach die 0 enthalten, so wie es bei einem Char-Array ist.</p>
<p>Gürße, pktm</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1485836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1485836</guid><dc:creator><![CDATA[pktm]]></dc:creator><pubDate>Thu, 03 Apr 2008 13:51:39 GMT</pubDate></item><item><title><![CDATA[Reply to Element einem Array hinten anhängen on Thu, 03 Apr 2008 14:04:37 GMT]]></title><description><![CDATA[<p>Für deinen eigenen Datentyp wird immer der Defaultkonstruktor aufgerufen. Hier also der Defaultkonstruktor von CGiro.</p>
<p>Und der Kompiler meckert, dass er ein CGiro nicht mit einem char vergleichen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1485847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1485847</guid><dc:creator><![CDATA[Ponto]]></dc:creator><pubDate>Thu, 03 Apr 2008 14:04:37 GMT</pubDate></item><item><title><![CDATA[Reply to Element einem Array hinten anhängen on Thu, 03 Apr 2008 14:05:25 GMT]]></title><description><![CDATA[<p>pktm schrieb:</p>
<blockquote>
<pre><code>CGiro giro_konten[255];
</code></pre>
</blockquote>
<p>hier wird ja ein array aus objekten erstellt, das heisst das array ist<br />
bei der deklaration bereits vollständig mit CGiro-Objekten gefüllt.<br />
ich würde hier vielleicht mit placement new vorgehen:</p>
<pre><code class="language-cpp">#include &lt;new&gt;
/* ... */
char stack[512]; //speicher von 512 byte wird reserviert
//Objekte reinspeichern
CGiro* pGiro = new CGiro (stack); //bin nicht sicher ob das genau stimmt...
//noch ein Objekt reintun
CGiro* nochEinGiro = new CGiro (stack + sizeof(CGiro));
//so wird das neue CGiro-Objekt hinter das alte in stack gespeichert, glaub
//ich jedenfalls....:-)
</code></pre>
<p>aber wie gesagt: syntax ohne gewähr, such doch mal nach placement new.. <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/1485849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1485849</guid><dc:creator><![CDATA[Dave__R]]></dc:creator><pubDate>Thu, 03 Apr 2008 14:05:25 GMT</pubDate></item><item><title><![CDATA[Reply to Element einem Array hinten anhängen on Thu, 03 Apr 2008 14:08:35 GMT]]></title><description><![CDATA[<p>Der Ausdruck in Klammern gehört beim Placement New <em>vor</em> den Typennamen. Aber wieso eigentlich für sowas Placement New verwenden, ein dynamisch anelegtes Feld tut's auch.</p>
<p>Wieso die STL nicht verwendet werden soll, verstehe ich allerdings nicht. Letztendlich liefe es darauf hinaus, dass man eben Teile der STL nachprogrammiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1485853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1485853</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Thu, 03 Apr 2008 14:08:35 GMT</pubDate></item></channel></rss>