<?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[Länge eines Arrays]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche mich grad an einem Zellulären Automaten für mein Studium. Als Aufgabe soll ich das ganze mit vector und mit arrays lösen.</p>
<p>Ich habe also mit</p>
<pre><code class="language-cpp">int* Regel;
    Regel = new int[8];
</code></pre>
<p>mein Array der Größe 8 angelegt (später wird mein 2. Array Daten variabel gesetzt).</p>
<p>Nun brauch ich aber die Länge des Arrays für die restlichen Funktionen in meiner Automaten-Klasse. Natürlich könnt ich eine int Variable setzen in der ich die Länge reinschreibe. Aber ich wollte eher via Funktion an die Länge dieses Arrays kommen.</p>
<p>Was ich bisher im Internet dazu gefunden habe, was angeblich funktionieren soll:</p>
<p>sizeof(Regel) / sizeof(Regel[0]</p>
<p>Nur bringt mir das immer 1 raus. Ist ja eigentlich auch klar, da sizeof(Regel) 4 ergibt und sizeof(Regel[0]) auch.</p>
<p>Gibts also ne Möglichkeit die Länge rauszubekommen? Oder sollte ich wirklich eine weitere Variable in dieser Klasse setzen?</p>
<p>mfg Sinsei</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/303650/länge-eines-arrays</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 07:23:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/303650.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 May 2012 12:57:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Länge eines Arrays on Sat, 19 May 2012 12:57:14 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche mich grad an einem Zellulären Automaten für mein Studium. Als Aufgabe soll ich das ganze mit vector und mit arrays lösen.</p>
<p>Ich habe also mit</p>
<pre><code class="language-cpp">int* Regel;
    Regel = new int[8];
</code></pre>
<p>mein Array der Größe 8 angelegt (später wird mein 2. Array Daten variabel gesetzt).</p>
<p>Nun brauch ich aber die Länge des Arrays für die restlichen Funktionen in meiner Automaten-Klasse. Natürlich könnt ich eine int Variable setzen in der ich die Länge reinschreibe. Aber ich wollte eher via Funktion an die Länge dieses Arrays kommen.</p>
<p>Was ich bisher im Internet dazu gefunden habe, was angeblich funktionieren soll:</p>
<p>sizeof(Regel) / sizeof(Regel[0]</p>
<p>Nur bringt mir das immer 1 raus. Ist ja eigentlich auch klar, da sizeof(Regel) 4 ergibt und sizeof(Regel[0]) auch.</p>
<p>Gibts also ne Möglichkeit die Länge rauszubekommen? Oder sollte ich wirklich eine weitere Variable in dieser Klasse setzen?</p>
<p>mfg Sinsei</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2213102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2213102</guid><dc:creator><![CDATA[Sinsei]]></dc:creator><pubDate>Sat, 19 May 2012 12:57:14 GMT</pubDate></item><item><title><![CDATA[Reply to Länge eines Arrays on Sat, 19 May 2012 13:01:15 GMT]]></title><description><![CDATA[<p>Du hast ein Array fester Größe. Warum schiebst du es auf den Heap?</p>
<pre><code class="language-cpp">int Regel[8];
</code></pre>
<p>Dann klappt das auch mit dem Tipp, den du bekommen hast, denn Regel ist nun ein Array und kein Zeiger.</p>
<p>Es gibt aber eigentlich (fast) keinen Grund mehr, überhaupt noch rohe Arrays zu benutzen. Der bevorzugte Weg wäre hier</p>
<pre><code class="language-cpp">array&lt;int, 8&gt; Regel;
</code></pre>
<p>Die Größe bekommst du dann mit <code>Regel.size()</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2213105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2213105</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sat, 19 May 2012 13:01:15 GMT</pubDate></item><item><title><![CDATA[Reply to Länge eines Arrays on Sat, 19 May 2012 13:07:15 GMT]]></title><description><![CDATA[<p>Naja, es sieht so aus, dass ich auch noch ein 2. Array Daten habe und dieses Array via Variable umändern möchte. Die Funktion für mein Daten-Array:</p>
<pre><code class="language-cpp">int* Daten; //In der Klasse

void ArrayAutomat::zufallsZustaendeErstellen(int Reichweite)
{
    Daten = new int[Reichweite];
    for(int i = 0; i &lt;= Reichweite; i++)
    {
        Daten[i] = rand()%2;
    }
}
</code></pre>
<p>Mein Beispiel mit Regel war wohl hier etwas blöd gewählt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2213110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2213110</guid><dc:creator><![CDATA[Sinsei]]></dc:creator><pubDate>Sat, 19 May 2012 13:07:15 GMT</pubDate></item><item><title><![CDATA[Reply to Länge eines Arrays on Sat, 19 May 2012 13:10:51 GMT]]></title><description><![CDATA[<p>Für Arrays variabler Länge nimmt man std::vector. Sonst sind die Speicherlöcher schon vorprogrammiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2213111</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2213111</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sat, 19 May 2012 13:10:51 GMT</pubDate></item><item><title><![CDATA[Reply to Länge eines Arrays on Sat, 19 May 2012 13:21:04 GMT]]></title><description><![CDATA[<p>Ich weiß, aber laut Aufgabenstellung soll ich das Ganze eben einmal mit Vektoren programmieren und einmal mit Arrays. Mit Vektoren war das Ganze auch leicht zu machen, nur mit Arrays bereitete mir eben das oben geschilderte Problem Kopfschmerzen.</p>
<p>Ich hab das Ganze nun einfach mit 2 Zusatzvariablen für die Länge des Regel- und des Daten-Arrays geschrieben und es funktioniert.</p>
<p>Danke für deine Hilfe <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/2213119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2213119</guid><dc:creator><![CDATA[Sinsei]]></dc:creator><pubDate>Sat, 19 May 2012 13:21:04 GMT</pubDate></item><item><title><![CDATA[Reply to Länge eines Arrays on Sat, 19 May 2012 14:35:42 GMT]]></title><description><![CDATA[<p>Nur um die eigentliche Frage nochmal zu beantworten</p>
<p>Sinsei schrieb:</p>
<blockquote>
<p>Gibts also ne Möglichkeit die Länge rauszubekommen?</p>
</blockquote>
<p>Nein, so eine Möglichkeit gibt es nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2213148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2213148</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 19 May 2012 14:35:42 GMT</pubDate></item><item><title><![CDATA[Reply to Länge eines Arrays on Sat, 19 May 2012 14:47:13 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>gibt es nicht</p>
</blockquote>
<p>Das ist übertrieben. new[] muss irgendwo die Länge festhalten, damit delete[] wieder alles freigibt. Mit schmutzigen Hacks komme ich also wieder an die Länge.</p>
<p>Wenn ich new/delete überschreibe (was gut geht), dann dürfte ich die Länge sogar wieder legal bekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2213151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2213151</guid><dc:creator><![CDATA[schmutzigerhacker]]></dc:creator><pubDate>Sat, 19 May 2012 14:47:13 GMT</pubDate></item><item><title><![CDATA[Reply to Länge eines Arrays on Sat, 19 May 2012 14:54:45 GMT]]></title><description><![CDATA[<p>schmutzigerhacker schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<p>gibt es nicht</p>
</blockquote>
<p>Das ist übertrieben. new[] muss irgendwo die Länge festhalten, damit delete[] wieder alles freigibt. Mit schmutzigen Hacks komme ich also wieder an die Länge.</p>
</blockquote>
<p>Nö, muß nicht. Der Compiler könnte sich unter Umständen auch merken, wo die Variable stand, die int new[] als Länge übergeben wurde, statt es sich im Freispeicher etc zu merken. Und bei leerem Destruktor der Datenelemente kann er auf's Notieren auch ganz verzichten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2213156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2213156</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 19 May 2012 14:54:45 GMT</pubDate></item><item><title><![CDATA[Reply to Länge eines Arrays on Sat, 19 May 2012 14:59:27 GMT]]></title><description><![CDATA[<p>@schmutzigerhacker<br />
Ja, ich weiss.<br />
Manchmal tut's aber auch eine einfache Antwort auf eine einfache Frage.<br />
Man muss die ganzen &quot;ausser wenn blah&quot; und &quot;theoretisch wöre möglich blubb&quot; nicht immer dazuschreiben, vor allem dann nicht, wenn man weiss dass sie dem Fragesteller nix bringen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2213159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2213159</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 19 May 2012 14:59:27 GMT</pubDate></item></channel></rss>