<?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[Zahl der Elemente eines Arrays bestimmen]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Ich übergebe ein Array von Zeigern, bzw. den Zeiger darauf, an eine Funktion. Wie kann ich nun innerhalb der Funktion herausfinden, wieviele Elemente das Array hat?</p>
<pre><code class="language-cpp">wchar_t **templates_compare= new wchar_t*[10];
	templates_compare[0] = (wchar_t*) malloc(1024);
	//usw...
	templates_compare[0] = L&quot;template_comp1.txt&quot;; 
	//usw...

	identify_files(L&quot;template.txt&quot;,templates_compare);
</code></pre>
<p>Dabei möchte ich weder std::vector nutzen noch die Zahl der Elemente als Argument an die Funktion übergeben. Danke für die Hilfe.</p>
<p>Schöne Grüsse,<br />
m.g.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/269289/zahl-der-elemente-eines-arrays-bestimmen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 01:29:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/269289.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Jun 2010 17:23:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Tue, 22 Jun 2010 17:23:55 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Ich übergebe ein Array von Zeigern, bzw. den Zeiger darauf, an eine Funktion. Wie kann ich nun innerhalb der Funktion herausfinden, wieviele Elemente das Array hat?</p>
<pre><code class="language-cpp">wchar_t **templates_compare= new wchar_t*[10];
	templates_compare[0] = (wchar_t*) malloc(1024);
	//usw...
	templates_compare[0] = L&quot;template_comp1.txt&quot;; 
	//usw...

	identify_files(L&quot;template.txt&quot;,templates_compare);
</code></pre>
<p>Dabei möchte ich weder std::vector nutzen noch die Zahl der Elemente als Argument an die Funktion übergeben. Danke für die Hilfe.</p>
<p>Schöne Grüsse,<br />
m.g.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915883</guid><dc:creator><![CDATA[m.g.]]></dc:creator><pubDate>Tue, 22 Jun 2010 17:23:55 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Tue, 22 Jun 2010 17:26:41 GMT]]></title><description><![CDATA[<p>m.g. schrieb:</p>
<blockquote>
<p>Ich übergebe ein Array von Zeigern, bzw. den Zeiger darauf, an eine Funktion. Wie kann ich nun innerhalb der Funktion herausfinden, wieviele Elemente das Array hat?<br />
[...]<br />
Dabei möchte ich weder std::vector nutzen noch die Zahl der Elemente als Argument an die Funktion übergeben. Danke für die Hilfe.</p>
</blockquote>
<p>Das ist im Allgemeinen nicht möglich. Du kannst z.B. bei Zeigern das Ende als Nullzeiger markieren (wie bei C-Strings), oder sonst etwas basteln. Aber es ist mühsam.</p>
<p>Gibt es einen Grund, wieso du <code>std::vector</code> nicht verwenden willst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915886</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 22 Jun 2010 17:26:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Tue, 22 Jun 2010 17:39:39 GMT]]></title><description><![CDATA[<p>m.g. schrieb:</p>
<blockquote>
<pre><code class="language-cpp">templates_compare[0] = (wchar_t*) malloc(1024);
	templates_compare[0] = L&quot;template_comp1.txt&quot;;
</code></pre>
</blockquote>
<p>Das produziert ein schönes Speicherleck. Gibt es einen Grund warum du nicht <strong>wstring</strong> benutzt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915895</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Tue, 22 Jun 2010 17:39:39 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Tue, 22 Jun 2010 17:41:26 GMT]]></title><description><![CDATA[<p>[quote=&quot;m.g.&quot;]</p>
<pre><code class="language-cpp">wchar_t **templates_compare= new wchar_t*[10];
templates_compare[0] = (wchar_t*) malloc(1024);
templates_compare[0] = L&quot;template_comp1.txt&quot;;
</code></pre>
<p>{/quote]<br />
Bist Du Dir darüber im Klaren, dass das ein Speicherleck ist? Die 1024 wchar_t Dinger hängen nämlich unerreichbar im Heap.</p>
<p>Viel zu viel *<br />
Viel zu viel new<br />
Viel zu viel malloc</p>
<p>Wenn Du einen vector&lt;wstring&gt; willst, dann nimm ihn doch auch. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915897</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 22 Jun 2010 17:41:26 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Wed, 23 Jun 2010 15:33:21 GMT]]></title><description><![CDATA[<p>Ich wollte ja eigentlich keinen Vektor verwenden. Aber ihr habt mich überzeugt, ich werde mein Programm etwas anders aufbauen und Vektoren verwenden.<br />
Ich war mir im übrigen auch nicht im klaren, dass es ein Speicherleck ist. <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="😮"
    /> Danke für den Hinweis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916384</guid><dc:creator><![CDATA[m.g.]]></dc:creator><pubDate>Wed, 23 Jun 2010 15:33:21 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Wed, 23 Jun 2010 19:44:31 GMT]]></title><description><![CDATA[<p>m.g. schrieb:</p>
<blockquote>
<p>Ich wollte ja eigentlich keinen Vektor verwenden.</p>
</blockquote>
<p>Hattest du einen bestimmten Grund? Bei mir ist es genau umgekehrt: Es braucht eine besondere Rechtfertigung, damit ich mit rohen Arrays oder besitzenden Zeigern hantiere und auf moderne Mittel wie <code>std::vector</code> verzichte. <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/1916481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916481</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 23 Jun 2010 19:44:31 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Wed, 23 Jun 2010 20:42:12 GMT]]></title><description><![CDATA[<p>Weil das ganze Teil einer DLL wird und unter anderem von einem Programm in Smalltalk angesprochen wird. Und das klappt wohl nur, bzw. am einfachsten, mit Pointern auf Char Arrys.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916491</guid><dc:creator><![CDATA[m.g.]]></dc:creator><pubDate>Wed, 23 Jun 2010 20:42:12 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Wed, 23 Jun 2010 20:47:54 GMT]]></title><description><![CDATA[<p>vector&lt;T&gt; für T!=bool garantiert ein lineares Speicherlayout</p>
<pre><code class="language-cpp">vector&lt;int&gt; foo (99);
  int* ptr = &amp;foo[0];
  ptr[3] = 23;
  cout &lt;&lt; foo[3] &lt;&lt; '\n';
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1916493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916493</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 23 Jun 2010 20:47:54 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Thu, 24 Jun 2010 11:01:50 GMT]]></title><description><![CDATA[<p>Hi,.</p>
<p>Du musst dir die allocierte größe in bytes durch typengröße speichern. Dann hast Du auch die anzahl der Elemente.</p>
<p>grüüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916685</guid><dc:creator><![CDATA[zeusosc]]></dc:creator><pubDate>Thu, 24 Jun 2010 11:01:50 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Thu, 24 Jun 2010 13:44:04 GMT]]></title><description><![CDATA[<p>zeusosc schrieb:</p>
<blockquote>
<p>Du musst dir die allocierte größe in bytes durch typengröße <strong>speichern</strong>. Dann hast Du auch die anzahl der Elemente.</p>
</blockquote>
<p>Du meinst wohl divideren? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1916808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916808</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 24 Jun 2010 13:44:04 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Thu, 24 Jun 2010 13:49:05 GMT]]></title><description><![CDATA[<p>Jo,..<br />
deswegen auch das wort &quot;durch&quot;...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916816</guid><dc:creator><![CDATA[zeusosc]]></dc:creator><pubDate>Thu, 24 Jun 2010 13:49:05 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Thu, 24 Jun 2010 19:27:19 GMT]]></title><description><![CDATA[<p>Und wie soll das bitte mit Pointern funktionieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916970</guid><dc:creator><![CDATA[m.g.]]></dc:creator><pubDate>Thu, 24 Jun 2010 19:27:19 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Thu, 24 Jun 2010 19:55:43 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#define MAX_SIZE 1024

size_t index=0;

size_t size_in_bytes = MAX_SIZE*sizeof(double);

double* ptr=(double*)malloc(size_in_bytes);

//der compiler convertiert automatisch den index als vielfaches der typengröße

index=511;

double Wert_An_stelle_512 = *(ptr+index);
</code></pre>
<p>gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916993</guid><dc:creator><![CDATA[zeusosc]]></dc:creator><pubDate>Thu, 24 Jun 2010 19:55:43 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Thu, 24 Jun 2010 21:22:41 GMT]]></title><description><![CDATA[<p>zeusosc, ich denke eher, m.g. meinte, wie du bei einem Zeiger auf ein dynamisches Array die Anzahl Elemente bestimmen kannst. Dafür gibt es nämlich keine portable Möglichkeit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1917029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1917029</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 24 Jun 2010 21:22:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zahl der Elemente eines Arrays bestimmen on Fri, 25 Jun 2010 06:01:38 GMT]]></title><description><![CDATA[<p>Hi,.</p>
<p>ja ist richtig,.. ich dachte es bezog sich auf die äußerung die größe einfach zu sichern,..</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1917082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1917082</guid><dc:creator><![CDATA[zeusosc]]></dc:creator><pubDate>Fri, 25 Jun 2010 06:01:38 GMT</pubDate></item></channel></rss>