<?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[Variable als Objektname]]></title><description><![CDATA[<p>Hallo liebe Communitiy<br />
Ich bin recht neu hier und beschäftige mich nun seit kurzem mit c++.<br />
Kurzerhand habe ich mir ein eigenes Projekt gebastelt, was auch sonst, ganz gut funktioniert.<br />
Nur am anfang gibt es noch ein problem, dass es auch nachher öfters geben wird.</p>
<p>Ich muss eine reihe von Objekten einer Klasse erstellen.<br />
Dies mache ich zurzeit mit einer schleife.</p>
<pre><code class="language-cpp">for (i,i&gt;=anzahl,i++)
</code></pre>
<p>nun muss ich die Objekte ja bennen. ich wollte sie einfach durchnummerieren und dafür die Variable i nutzen, die jeweils einen Zahlenwert verdeutlicht.<br />
Wie kann aber der Compiler unterscheiden ob es sich um eine Variable handelt??<br />
Muss ich irgendetwas dazu schreiben??<br />
ist das überhaupt so möglich einfach zu schreiben<br />
ecke i;</p>
<p>(ecke ist die Klasse) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Vielen dank schon mal für die antworten</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/205227/variable-als-objektname</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 23:44:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/205227.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Feb 2008 21:58:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variable als Objektname on Mon, 11 Feb 2008 21:58:14 GMT]]></title><description><![CDATA[<p>Hallo liebe Communitiy<br />
Ich bin recht neu hier und beschäftige mich nun seit kurzem mit c++.<br />
Kurzerhand habe ich mir ein eigenes Projekt gebastelt, was auch sonst, ganz gut funktioniert.<br />
Nur am anfang gibt es noch ein problem, dass es auch nachher öfters geben wird.</p>
<p>Ich muss eine reihe von Objekten einer Klasse erstellen.<br />
Dies mache ich zurzeit mit einer schleife.</p>
<pre><code class="language-cpp">for (i,i&gt;=anzahl,i++)
</code></pre>
<p>nun muss ich die Objekte ja bennen. ich wollte sie einfach durchnummerieren und dafür die Variable i nutzen, die jeweils einen Zahlenwert verdeutlicht.<br />
Wie kann aber der Compiler unterscheiden ob es sich um eine Variable handelt??<br />
Muss ich irgendetwas dazu schreiben??<br />
ist das überhaupt so möglich einfach zu schreiben<br />
ecke i;</p>
<p>(ecke ist die Klasse) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Vielen dank schon mal für die antworten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454036</guid><dc:creator><![CDATA[benni33]]></dc:creator><pubDate>Mon, 11 Feb 2008 21:58:14 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Mon, 11 Feb 2008 21:59:31 GMT]]></title><description><![CDATA[<p>Nein, das ist SO nicht möglich. Aber schau dir mal new/delete an. Das dürfte etwa das sein, was du suchst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454041</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 11 Feb 2008 21:59:31 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Mon, 11 Feb 2008 22:00:27 GMT]]></title><description><![CDATA[<p>Benutze Arrays od. noch besser die Standard Container (std::vector, std::list, etc.).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454043</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 11 Feb 2008 22:00:27 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Mon, 11 Feb 2008 22:01:40 GMT]]></title><description><![CDATA[<blockquote>
<p>Nein, das ist SO nicht möglich. Aber schau dir mal new/delete an. Das dürfte etwa das sein, was du suchst.</p>
</blockquote>
<p>Allerdings hat das Problem nicht allzuviel mit new/delete zu tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454045</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 11 Feb 2008 22:01:40 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Mon, 11 Feb 2008 22:08:42 GMT]]></title><description><![CDATA[<blockquote>
<p>for (i,i&gt;=anzahl,i++)</p>
</blockquote>
<p>Wie willst du sonst eine variable Menge von Objekten erstellen, wenn nicht mit new? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1454047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454047</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 11 Feb 2008 22:08:42 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Mon, 11 Feb 2008 22:22:29 GMT]]></title><description><![CDATA[<p>&quot;das problem&quot; kann so nicht gelöst werden. die frage ist nämlich: kann man eine variable mit einem variablen namen deklarieren? die antwort lautet: nein.<br />
wenn du einen variablennamen zusätzlich brauchst, kannst du den in einem string abspeichern und das ganze als <code>std::pair</code> in einem <code>std::vector</code> unterbringen (oder gleich in einer <code>std::map</code> ). dass die intern mit new arbeiten ist ein implementationsdetail. wenn du keinen zusätzlichen variablennamen brauchst, kannst du auch mit <code>new[]</code> arbeiten, klar. sagt ja niemand, dass dein vorschlag keine lösung für das problem ist <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/1454048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454048</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Mon, 11 Feb 2008 22:22:29 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Mon, 11 Feb 2008 22:21:01 GMT]]></title><description><![CDATA[<blockquote>
<p>Wie willst du sonst eine variable Menge von Objekten erstellen, wenn nicht mit new?</p>
</blockquote>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;vector&gt;
#include &lt;iostream&gt;

int _main(int argc, _TCHAR* argv[])
{

	std::vector&lt;std::string&gt; v;
	for (int i = 0; i &lt;10; ++i)
	{
		std::string s = &quot;Das ist ein Objekt auf dem Stack&quot;;
		v.push_back(s);
	}

	for(std::vector&lt;std::string&gt;::const_iterator it = v.begin();
		it != v.end();
		++it)
	{
		std::cout &lt;&lt; *it &lt;&lt; std::endl;
	}

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1454050</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454050</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 11 Feb 2008 22:21:01 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Mon, 11 Feb 2008 22:24:34 GMT]]></title><description><![CDATA[<p>Ich gehe mal einfach davon aus, dass du eine Reihe von Ecken (oder Vertices) hast, du diese anlegen bzw. verarbeiten willst. Dein &quot;Problem&quot; ist, dass die Variablennamen im übersetzten Programm nicht mehr bekannt sind.</p>
<p>Du könntest das ganz einfach über ein Array lösen (ungetestet):</p>
<pre><code class="language-cpp">const size_t anzahl = 10000;
Vertex* vertices = new Vertex[anzahl];

for(size_t i = 0; i &lt; anzahl; ++i) {
    vertices[i] = Vertex(0.0f, 0.0f, 0.0f);
}

delete[] vertices;
</code></pre>
<p>Grüße... Heiko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454051</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Mon, 11 Feb 2008 22:24:34 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Mon, 11 Feb 2008 22:33:55 GMT]]></title><description><![CDATA[<p>simon.gysi schrieb:</p>
<blockquote>
<blockquote>
<p>Wie willst du sonst eine variable Menge von Objekten erstellen, wenn nicht mit new?</p>
</blockquote>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;vector&gt;
#include &lt;iostream&gt;

int _main(int argc, _TCHAR* argv[])
{

	std::vector&lt;std::string&gt; v;
	for (int i = 0; i &lt;10; ++i)
	{
		std::string s = &quot;Das ist ein Objekt auf dem Stack&quot;;
		v.push_back(s);
	}

	for(std::vector&lt;std::string&gt;::const_iterator it = v.begin();
		it != v.end();
		++it)
	{
		std::cout &lt;&lt; *it &lt;&lt; std::endl;
	}

	return 0;
}
</code></pre>
</blockquote>
<p>Sorry, habe schon einen Schritt zu weit gedacht. <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/1454055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454055</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 11 Feb 2008 22:33:55 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Tue, 12 Feb 2008 09:46:00 GMT]]></title><description><![CDATA[<p>bwbg lag da schon ganz nah dran.<br />
allerdings ist es mir noch nicht ganz klar was denn da genau passiert</p>
<p>bwbg schrieb:</p>
<blockquote>
<pre><code class="language-cpp">const size_t anzahl = 10000;
Vertex* vertices = new Vertex[anzahl];

for(size_t i = 0; i &lt; anzahl; ++i) {
    vertices[i] = Vertex(0.0f, 0.0f, 0.0f /* Sollen das Koordinaten sein ?? oder habe ich da was vergessen ...*/); 
}

delete[] vertices;  // kann ich auch schreiben delete vertices [objektnr.] ??
</code></pre>
</blockquote>
<p>Also ich habe ein Objekt Vertex (bei mir ecke) und in diesem erstelle als Array anzahl an Objekten der klasse vertex.<br />
Die Objekte kann ich dann jeweils per vertices[objektnr] ansprechen<br />
Richtig??</p>
<p>Zuer erklärung was ich mache, es handelt sich um Graphen. Bei denen ist die Koordinate zumindest in meinem falle egal. es geht nur um die Verbindungen zwischen den ekcen (diese werden später als eigenschaften angegeben)<br />
Durch einen bestimmten algorithmus wird dann herausgefunden, ob z.B. eine Euler Tour (alle Kanten entlang &quot;laufen&quot; und am ausgangspunkt ankommen)oder ein Eulerscher Kantenzug möglich ist und deren variationen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454200</guid><dc:creator><![CDATA[benni33]]></dc:creator><pubDate>Tue, 12 Feb 2008 09:46:00 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Tue, 12 Feb 2008 10:23:20 GMT]]></title><description><![CDATA[<p>Vertex dient hier lediglich der Illustration. Die Klasse könnte genauso gut Apfel, Kartoffelsalat oder Koordinate heißen.</p>
<p>Der Aufruf <em>Vertex(0.0f, 0.0f, 0.0f)</em> ist in diesem Fall der Konstruktoraufruf.</p>
<p>Mittels dem Indexoperator [] kannst du auf die Elemente des Arrays zugreifen. Du musst allerdings selbst dafür sorgen, dass der Bereich nicht überschritten wird (Segmentation-Faults wären noch die angenehmste Folge einer Überschreitung).</p>
<p>Wichtig zu wissen ist, dass <strong>new</strong> lediglich Speicher anfordert. Mit <strong>delete</strong> gibst du den (mit new) angeforderten Speicher wieder frei (was man immer tun MUSS).</p>
<p>Wenn du mehr Flexibilität benötigst, solltest du dir die oben schon angesprochenen Standardcontainer-Klassen (std::vector, std::list, etc.) mal ansehen - diese nehmen dir auch die Speicherverwaltung ab.</p>
<p>Grüße...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454226</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Tue, 12 Feb 2008 10:23:20 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Tue, 12 Feb 2008 15:45:18 GMT]]></title><description><![CDATA[<p>hmm<br />
danke, dass habe ich mir schon so gedacht.<br />
Ich habe in der zwischen Zeit mal meine Funktion zu erstellung der Ecken erstellt<br />
wäre einer so freundlich mal kurz drüber zu lesen??<br />
Ich glaube, dass ich es so machen kann. Getestet habe ich noch nicht.</p>
<pre><code class="language-cpp">void neueecken()
	{
	cout &lt;&lt; &quot;Beginnen wir mit der Erfassung der Ecken.&quot; &lt;&lt; endl
	&lt;&lt; &quot;Sie können später alle Ecken nachbearbeiten.&quot;&lt;&lt; endl
	&lt;&lt; &quot;merken sie sich dafür einfach die Nr. der Ecke.&quot; &lt;&lt; endl
	&lt;&lt; &quot;Diese wird vom Programm jeweils bekannt gegeben.&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;Wie viele Ecken möchten sie erstellen?&quot;;
	size_t anzahl;
	cin &gt;&gt; anzahl;	cout &lt;&lt; anzahl &lt;&lt; endl;
	ecke* vertices = new ecke[anzahl];

	for (i=0,i&gt;=int(anzahl),i++)
		{
		cout &lt;&lt; &quot;Beginnen wir mit der&quot; &lt;&lt; i &lt;&lt; &quot;.-Ecke.&quot; &lt;&lt; endl;
		cout &lt;&lt; &quot;Wie viele Verbindungen (Kanten) besitzt die Ecke?&quot;;
		cin &gt;&gt; vertices[i].grad; cout &lt;&lt; vertices[i].grad &lt;&lt; endl;
			for (b=0, b&gt;= vertices[i].grad, b++)
			{
			cout &lt;&lt; &quot;Mit welchen weiteren Eckennummer soll die aktuelle Ecke verbunden werden?&quot;;
			int eckennr
			cin &gt;&gt; eckennr
			vertices[i].verbindung.push_back(eckennr); cout &lt;&lt;  vertices[i].verbindung[b] &lt;&lt; endl;
			}
		cout &lt;&lt; endl &lt;&lt; endl &lt;&lt; endl;
		}
	}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Vielen dank schon mal im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454235</guid><dc:creator><![CDATA[benni33]]></dc:creator><pubDate>Tue, 12 Feb 2008 15:45:18 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Tue, 12 Feb 2008 12:33:31 GMT]]></title><description><![CDATA[<p>Also da wird kaum was rauskommen.</p>
<p>Überleg dir das:</p>
<pre><code class="language-cpp">for (i=0,i&gt;=int(anzahl),i++)
</code></pre>
<p>mal noch genau.Und vor allem, was was genau macht.</p>
<p>Und warum hast du das den noch nicht selber getestet?? <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>EDIT:</p>
<p>Dasselbe gilt für die 2. for-Schlaufe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454325</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 12 Feb 2008 12:33:31 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Tue, 12 Feb 2008 15:34:41 GMT]]></title><description><![CDATA[<p>ich habs dir ma versucht bissl zu erklären...</p>
<pre><code>for (i=0,i&gt;=int(anzahl),i++)
      1        2         3
</code></pre>
<p>1.: size_t i (0) bzw. size_t i = 0 (wobei ich die Initialisierung mit Klammern besser find <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":-P"
      alt="😛"
    /> ) (sonst würde dir der compiler sagen, dass er 'i' nicht kennt... da i dann auch von size_t ist, entfällt der doofe (c-style-)cast (solltest du dir auch abgewöhnen)<br />
2.: hier kommt nicht hin, wann er aufhören soll, sondern wann er weitermachen soll (verzeiht mir diesen Satz ^^) mit &gt;= würde niemals (außer, wenn man 0 ecken eingegeben hat, dann 1 ^^) auch nur 1 Schleifendurchlauf zu Stande kommen -&gt; i &lt; anzahl - sollte nicht all zu unlogisch sein ^^ (nicht &lt;=, weil ja die 0 mit dabei ist ^^)<br />
3.: ++i - man zieht preincrement vor - das macht hier noch nichts aus, aber wird spätestens bei iteratoren schneller sein...</p>
<p>soo... ok? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454519</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 12 Feb 2008 15:34:41 GMT</pubDate></item><item><title><![CDATA[Reply to Variable als Objektname on Tue, 12 Feb 2008 20:05:34 GMT]]></title><description><![CDATA[<p>Nachdem ich als erstes überhaupt keinen Durchblick hatte, habe ich ihn nun doch gefunden.</p>
<p>Danke aber für die große hilfe bis hierher <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>
<p>Falls fragen aufkommen, oder noch anmerkungen zum quellcode oben sind, wird man mich hier finden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454522</guid><dc:creator><![CDATA[benni33]]></dc:creator><pubDate>Tue, 12 Feb 2008 20:05:34 GMT</pubDate></item></channel></rss>