<?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[class vector probleme beim nachprogrammieren]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich muss eine vektorklasse programmieren, leider bekomme ich den Part mit der konstruktor und initialisierung nicht hin. Der konstruktor für die größe des Vektors geht. Vielleicht bin ich auch übermüdet.</p>
<p>Also dieser part hier: vector(int s,const T&amp; obj) . Soll die größe festlegen und gleich den Vektor initialisieren.</p>
<p>so mein Code<br />
vector.h</p>
<pre><code class="language-cpp">#pragma once

// Klasse Vector

template&lt;class T&gt;
class vector
{
	T *v;
	unsigned int size;

public:
	vector(int);
	vector(int s, const T&amp; obj);  // &lt;- geht so nicht
	~vector() {if (v) delete[] v;};
	T &amp;operator[](int i) {return v[i];}; // nun auch wie bei einem Array [] zugelassen für den Index
	T at(int i) {return v[i];};
	int getsize() {return size;};
};
</code></pre>
<p>vector.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;vector.h&quot;

vector&lt;int&gt;::vector(int s)
{
	if (s == 0) std::cout &lt;&lt; &quot;falsche Vektorgroesse\n&quot;;
	v = new T[size=s];
}

template&lt;typename T&gt;
vector&lt;T&gt;::vector(int s,const T&amp; obj)  // hab alles mögliche probiert geht nicht
{
	if (s == 0) std::cout &lt;&lt; &quot;falsche Vektorgroesse\n&quot;;
	v = new T[size=s];
	for (int a=0; a &lt; size; a++) v[a] = obj;
}
</code></pre>
<p>main.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;vector.h&quot;
using namespace std;

int main()
{
	vector&lt;int&gt; vektor(10);
	vector&lt;int&gt; vektor2(10,4);

	cout &lt;&lt; vektor.getsize() &lt;&lt; endl;

	vektor[2] = 10;

	cout &lt;&lt; vektor[2] &lt;&lt; endl;
	cout &lt;&lt; vektor2.at(3) &lt;&lt; endl;

	return 0;
}
</code></pre>
<p>Danke.</p>
<p>Gruss,<br />
Cyrill</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/164817/class-vector-probleme-beim-nachprogrammieren</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 05:43:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/164817.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 12 Nov 2006 22:26:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Sun, 12 Nov 2006 22:26:51 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich muss eine vektorklasse programmieren, leider bekomme ich den Part mit der konstruktor und initialisierung nicht hin. Der konstruktor für die größe des Vektors geht. Vielleicht bin ich auch übermüdet.</p>
<p>Also dieser part hier: vector(int s,const T&amp; obj) . Soll die größe festlegen und gleich den Vektor initialisieren.</p>
<p>so mein Code<br />
vector.h</p>
<pre><code class="language-cpp">#pragma once

// Klasse Vector

template&lt;class T&gt;
class vector
{
	T *v;
	unsigned int size;

public:
	vector(int);
	vector(int s, const T&amp; obj);  // &lt;- geht so nicht
	~vector() {if (v) delete[] v;};
	T &amp;operator[](int i) {return v[i];}; // nun auch wie bei einem Array [] zugelassen für den Index
	T at(int i) {return v[i];};
	int getsize() {return size;};
};
</code></pre>
<p>vector.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;vector.h&quot;

vector&lt;int&gt;::vector(int s)
{
	if (s == 0) std::cout &lt;&lt; &quot;falsche Vektorgroesse\n&quot;;
	v = new T[size=s];
}

template&lt;typename T&gt;
vector&lt;T&gt;::vector(int s,const T&amp; obj)  // hab alles mögliche probiert geht nicht
{
	if (s == 0) std::cout &lt;&lt; &quot;falsche Vektorgroesse\n&quot;;
	v = new T[size=s];
	for (int a=0; a &lt; size; a++) v[a] = obj;
}
</code></pre>
<p>main.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;vector.h&quot;
using namespace std;

int main()
{
	vector&lt;int&gt; vektor(10);
	vector&lt;int&gt; vektor2(10,4);

	cout &lt;&lt; vektor.getsize() &lt;&lt; endl;

	vektor[2] = 10;

	cout &lt;&lt; vektor[2] &lt;&lt; endl;
	cout &lt;&lt; vektor2.at(3) &lt;&lt; endl;

	return 0;
}
</code></pre>
<p>Danke.</p>
<p>Gruss,<br />
Cyrill</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173314</guid><dc:creator><![CDATA[DragonShaolin]]></dc:creator><pubDate>Sun, 12 Nov 2006 22:26:51 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Sun, 12 Nov 2006 22:57:01 GMT]]></title><description><![CDATA[<p>Ich würd mich 1. mal konkret über Templates informieren und 2. läuft der Quellcode durchaus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173323</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Sun, 12 Nov 2006 22:57:01 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Sun, 12 Nov 2006 23:04:22 GMT]]></title><description><![CDATA[<p>Templates sind doch platzhalter für Datentypen. Damit ich jeden Datentyp verwenden kann. Oder bin ich falsch?</p>
<p>Die fehlermeldung erscheint:<br />
1&gt;main.obj : error LNK2019: unresolved external symbol &quot;public: __thiscall vector&lt;int&gt;::vector&lt;int&gt;(int,int const &amp;)&quot; (??0?$vector@H@@QAE@HABH@Z) referenced in function _main</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173325</guid><dc:creator><![CDATA[DragonShaolin]]></dc:creator><pubDate>Sun, 12 Nov 2006 23:04:22 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Sun, 12 Nov 2006 23:07:59 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Vermutlich hilft dir von <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-151578-and-start-is-0.html" rel="nofollow">hier</a> die Antwort auf Frage 5.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173328</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 12 Nov 2006 23:07:59 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Sun, 12 Nov 2006 23:08:18 GMT]]></title><description><![CDATA[<p>Jo, aber der Compiler muss die auch zur Compiler-Zeit finden und instanzieren können. (Sprich du musst alles in den Header packen)</p>
<p>Tipp: nimm std::size_t für die Größe oder einige dich zumindest, ob du int oder unsigend nehmen willst.<br />
Tipp: Schau dir mal Initialisierungslisten an<br />
Tipp: #pragma once benutzt man nicht, dafür gibt es portable Include-Guards.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173330</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Sun, 12 Nov 2006 23:08:18 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Sun, 12 Nov 2006 23:13:31 GMT]]></title><description><![CDATA[<p>Alles klar... ich schau mir das morgen nochmal an. Bin jetzt zu müde dazu...</p>
<p>Aber besten Dank.</p>
<p>Vielleicht gibt es noch mehr Tips bis morgen <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/1173331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173331</guid><dc:creator><![CDATA[DragonShaolin]]></dc:creator><pubDate>Sun, 12 Nov 2006 23:13:31 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Mon, 13 Nov 2006 23:33:44 GMT]]></title><description><![CDATA[<p>rüdiger schrieb:</p>
<blockquote>
<p>Jo, aber der Compiler muss die auch zur Compiler-Zeit finden und instanzieren können. (Sprich du musst alles in den Header packen)</p>
</blockquote>
<p>Ok ich hab jetzt nur die eine Funktion mit der Initialisierung in die Headerdatei geschrieben und sie geht jetzt einwandfrei. Hab gehört das ist ein Bug in VS.</p>
<p>rüdiger schrieb:</p>
<blockquote>
<p>Tipp: nimm std::size_t für die Größe oder einige dich zumindest, ob du int oder unsigend nehmen willst.</p>
</blockquote>
<p>Wurde zu unsigned korrigiert</p>
<p>rüdiger schrieb:</p>
<blockquote>
<p>Tipp: Schau dir mal Initialisierungslisten an</p>
</blockquote>
<p>ist es jetzt in Ordnung?</p>
<p>rüdiger schrieb:</p>
<blockquote>
<p>Tipp: #pragma once benutzt man nicht, dafür gibt es portable Include-Guards.</p>
</blockquote>
<p>Ich hab den Klassenwizard von 2005 mal ausprobiert, der schreibt in die Headerdatei nur #pragma once</p>
<p>So hier nochmal den Korrigierten Code, ist natürlich nocht nicht fertig:<br />
vector.h</p>
<pre><code class="language-cpp">#pragma once
#include &lt;iostream&gt;

// Klasse Vector
template&lt;class T&gt;
class vector
{
	T *v;
	unsigned int size;							// Unsigned, weil es gibt keine Minusgrößen

public:
    vector(){v = null; size = 0;}
    vector(unsigned int);
	vector(unsigned int, const T&amp;);
	~vector() {if (v) delete[] v;};
	inline T &amp;operator[](int i) {return v[i];}; // nun auch wie bei einem Array [] zugelassen für den Index
	inline T at(int i) {return v[i];};			// inline spart unnötige Sprünge, also belastet den CPU nicht so sehr
	inline int getsize() {return size;};
};

// Dieser Part muss in der Headerdatei stehen, ist ein bug in VSC++
template&lt;typename T&gt;
vector&lt;T&gt;::vector(unsigned int s,const T&amp; obj)
{
	if (s == 0) std::cout &lt;&lt; &quot;falsche Vektorgroesse\n&quot;;
	v = new T[size=s];
	for (unsigned int a=0; a &lt; size; a++) v[a] = obj;
}
</code></pre>
<p>vector.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;vector.h&quot;

vector&lt;int&gt;::vector(unsigned int s)
{
	if (s == 0) std::cout &lt;&lt; &quot;falsche Vektorgroesse\n&quot;;
	v = new T[size=s];
}
</code></pre>
<p>main.cpp</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;vector.h&quot;
using namespace std;

int main()
{
	vector&lt;int&gt; vektor(10);
	vector&lt;int&gt; vektor2(10,4);

	cout &lt;&lt; vektor.getsize() &lt;&lt; endl;

	vektor[2] = 10;

	cout &lt;&lt; vektor[2] &lt;&lt; endl;
	cout &lt;&lt; vektor2.at(3) &lt;&lt; endl;

	return 0;
}
</code></pre>
<p>Bei verbesserungen bzw. Tips hab ich nix dagegen.</p>
<p>Danke nochmals.</p>
<p>Gruss,<br />
Cyrill</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174108</guid><dc:creator><![CDATA[DragonShaolin]]></dc:creator><pubDate>Mon, 13 Nov 2006 23:33:44 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Tue, 14 Nov 2006 03:27:53 GMT]]></title><description><![CDATA[<p>Da du die Memberfunktionen eh inline implementiert hast kannst du das Schlüsselwort inline weglassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174126</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174126</guid><dc:creator><![CDATA[.........]]></dc:creator><pubDate>Tue, 14 Nov 2006 03:27:53 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Tue, 14 Nov 2006 05:24:02 GMT]]></title><description><![CDATA[<p>rüdiger schrieb:</p>
<blockquote>
<p>Tipp: #pragma once benutzt man nicht, dafür gibt es portable Include-Guards.</p>
</blockquote>
<p>Tip: Include Guards benutzt man nicht, dafür gibts #pragma once.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174141</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 14 Nov 2006 05:24:02 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Wed, 04 Aug 2010 20:46:36 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>rüdiger schrieb:</p>
<blockquote>
<p>Tipp: #pragma once benutzt man nicht, dafür gibt es portable Include-Guards.</p>
</blockquote>
<p>Tip: Include Guards benutzt man nicht, dafür gibts #pragma once.</p>
</blockquote>
<p>Tip: Viel Spaß mit nicht Microsoft Compilern!</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/4832">@DragonShaolin</a>:</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Du nutzt immer noch keine Initialisierungsliste<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Du solltest deinem Vektor unbedingt eine Wertsemantik verleihen<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <em>if (v)</em> im d'tor ist unnütz<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Im operator[] auch ein unsigned int übergeben (Indice im Minusbereich gibts nicht)<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Unbedingt einen konstanten operator[] hinzufügen<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Die zwei letzten Punkte auch für die Methode <em>at</em><br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <em>getsize</em> sollte konstant sein<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> // Dieser Part muss in der Headerdatei stehen, ist ein bug in VSC++ &lt;- Das ist kein Bug sondern vollkommen korrekt!<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> vector&lt;int&gt;::vector(unsigned int s) &lt;- Warum hast du den c'tor nur für integer spezialisiert?</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174157</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Wed, 04 Aug 2010 20:46:36 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Tue, 14 Nov 2006 09:17:50 GMT]]></title><description><![CDATA[<p>David_pb schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<p>rüdiger schrieb:</p>
<blockquote>
<p>Tipp: #pragma once benutzt man nicht, dafür gibt es portable Include-Guards.</p>
</blockquote>
<p>Tip: Include Guards benutzt man nicht, dafür gibts #pragma once.</p>
</blockquote>
<p>Tip: Viel Spaß mit nicht Microsoft Compilern!</p>
</blockquote>
<p>GPP, Digital Mars, ugu (HP), ... garkein Problem. Weiss nicht was ihr Mädchen immer habt.</p>
<p>&quot;#pragma once&quot; sollte standardisiert werden!<br />
Dämliche include Guards nerven mich schon ewig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174262</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 14 Nov 2006 09:17:50 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Tue, 14 Nov 2006 09:48:52 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>&quot;#pragma once&quot; sollte standardisiert werden!<br />
Dämliche include Guards nerven mich schon ewig.</p>
</blockquote>
<p>Da hast du ganz recht - es SOLLTE standardisiert werden (aber es IST nicht). Der Standard legt afaik lediglich fest, daß ein Compiler #pragma kennen muß - wie er es nutzt, ist nicht weiter definiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174290</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 14 Nov 2006 09:48:52 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Tue, 14 Nov 2006 22:11:40 GMT]]></title><description><![CDATA[<p>EDIT: Erks. Blubb. *verwirr*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174441</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 14 Nov 2006 22:11:40 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Tue, 14 Nov 2006 19:23:41 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>zu meiner Klasse hab ich grad ein Problem und zwar, ich kann elemente anhängen, aber wie lösche ich die letzten elemente? Am besten wär es ja ein x belibiges element... Ich hab kein Plan wie ich das machen soll.</p>
<p>Der Code steht ja noch auf Seite 1.</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
void vector&lt;T&gt;::delete_last()
{
	delete v[size - 1];
}
</code></pre>
<p>Das funktioniert nicht, der meint es ist kein Pointer. v hab ich doch als pointer deklariert...</p>
<p>Gruss,<br />
Cyrill</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174718</guid><dc:creator><![CDATA[DragonShaolin]]></dc:creator><pubDate>Tue, 14 Nov 2006 19:23:41 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Tue, 14 Nov 2006 20:53:58 GMT]]></title><description><![CDATA[<p>v ist ein Zeiger. v[irgendwas] aber nicht.</p>
<p>Kommt jetzt drauf an, was du mit Löschen meinst. Wenn du das Objekt wirklich löschen willst, mußt du ein neues Array anlegen, das um eins kürzer ist, und dann das alte Array da hineinkopieren. Sinnvoller wäre es allerdings einfach nur die size-Information anzupassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174766</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Tue, 14 Nov 2006 20:53:58 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Tue, 14 Nov 2006 21:01:23 GMT]]></title><description><![CDATA[<p>Stimmt ja <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="🙂"
    /><br />
ja entweder ich erstelle einen neuen Zeiger um die Speicheradresse wieder frei zu geben oder ich setzte die size echt nur runter ist schneller gemacht <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/1174770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174770</guid><dc:creator><![CDATA[DragonShaolin]]></dc:creator><pubDate>Tue, 14 Nov 2006 21:01:23 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Thu, 16 Nov 2006 11:02:57 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>wenn ich das hier mache, bekomme ich einen Heapspeicherfehler. Bzw. sobald ich v lösche.</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
void vector&lt;T&gt;::delete_last()
{
	size--;
	T *v2;
	v2 = new T[size];
	for (unsigned int a = 0; a &lt;= size; a++) v2[a] = v[a];
	delete v;
	v = new T[size];
	for (unsigned int a = 0; a &lt;= size; a++) v[a] = v2[a];
	delete v2;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1175828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175828</guid><dc:creator><![CDATA[DragonShaolin]]></dc:creator><pubDate>Thu, 16 Nov 2006 11:02:57 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Thu, 16 Nov 2006 11:06:21 GMT]]></title><description><![CDATA[<p>Falsch:</p>
<pre><code class="language-cpp">a &lt;= size
</code></pre>
<p>Richtig:</p>
<pre><code class="language-cpp">a &lt; size
</code></pre>
<p>Abgesehen davon, sieht der ganze Code für mich ziemlich sinnlos aus. Warum legst du zwei neue Arrays an?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175833</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Thu, 16 Nov 2006 11:06:21 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Thu, 16 Nov 2006 11:10:26 GMT]]></title><description><![CDATA[<p>new -&gt; delete<br />
new[] -&gt; delete[]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175837</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 16 Nov 2006 11:10:26 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Thu, 16 Nov 2006 11:15:52 GMT]]></title><description><![CDATA[<p>Z2 schrieb:</p>
<blockquote>
<p>Warum legst du zwei neue Arrays an?</p>
</blockquote>
<p>Weil ich kein einzelnes Element löschen kann. Ich hätte zwar nur die size heruntersetzen können, aber die elemente bleiben ja im Speicher. Wenn man es anders schreiben kann, dann würde ich es gerne anders machen...</p>
<p>Danke euch beiden...</p>
<p>Gruss,<br />
Cyrill</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175838</guid><dc:creator><![CDATA[DragonShaolin]]></dc:creator><pubDate>Thu, 16 Nov 2006 11:15:52 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Thu, 16 Nov 2006 11:21:09 GMT]]></title><description><![CDATA[<p>Leg ein neues Array an, kopier den Inhalt des alten Arrays in das neue und ersetzte den Zeiger auf das alte Array durch den Zeiger auf das neue Array.</p>
<p>Übrigens ist den Code nicht Exception-sicher. Merke, nackte Zeiger sind gefährlich! Um das sauber zu machen, müßte man entweder einen geeigneten SmartPointer nehmen (std::auto_ptr ist hier nicht geeignet) oder einen try-catch-Block darum legen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175845</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Thu, 16 Nov 2006 11:21:09 GMT</pubDate></item><item><title><![CDATA[Reply to class vector probleme beim nachprogrammieren on Thu, 16 Nov 2006 16:17:17 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void Foo&lt;T&gt;::DeleteLast()
{
    assert(m_usedElements &gt; 0);
    m_usedElements--;
    (&amp;m_buffer[m_usedElements])-&gt;T::~T();
}
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1176073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1176073</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 16 Nov 2006 16:17:17 GMT</pubDate></item></channel></rss>