<?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[array grösse messen]]></title><description><![CDATA[<p>wenn ich ein array unbekannter grösse habe, wie finde ich dann heraus wie viele elemente er bestutz? bsp für eine schleife.<br />
in vb gbs dafür ubound</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/294046/array-grösse-messen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 02:01:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/294046.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 16 Oct 2011 16:24:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to array grösse messen on Sun, 16 Oct 2011 16:24:50 GMT]]></title><description><![CDATA[<p>wenn ich ein array unbekannter grösse habe, wie finde ich dann heraus wie viele elemente er bestutz? bsp für eine schleife.<br />
in vb gbs dafür ubound</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132152</guid><dc:creator><![CDATA[Marvin94]]></dc:creator><pubDate>Sun, 16 Oct 2011 16:24:50 GMT</pubDate></item><item><title><![CDATA[Reply to array grösse messen on Sun, 16 Oct 2011 16:26:05 GMT]]></title><description><![CDATA[<p>Wenn das Ende nicht irgendwie markiert ist, gar nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132153</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 16 Oct 2011 16:26:05 GMT</pubDate></item><item><title><![CDATA[Reply to array grösse messen on Sun, 16 Oct 2011 16:28:36 GMT]]></title><description><![CDATA[<p>Wenn du C++0x benutzt, dann verwende statt C-Arrays std::array.<br />
Wenn du kein C++0x benutzt, aber boost::, dann verwende boost::array.</p>
<pre><code class="language-cpp">std::array&lt;int, 10&gt; oof;
std::cout &lt;&lt; oof.size();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2132155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132155</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sun, 16 Oct 2011 16:28:36 GMT</pubDate></item><item><title><![CDATA[Reply to array grösse messen on Sun, 16 Oct 2011 16:33:39 GMT]]></title><description><![CDATA[<p>Marvin94 schrieb:</p>
<blockquote>
<p>wenn ich ein array unbekannter grösse habe, wie finde ich dann heraus wie viele elemente er bestutz? bsp für eine schleife.<br />
in vb gbs dafür ubound</p>
</blockquote>
<p>Das Array kannst Du befragen mit sizeof.</p>
<pre><code class="language-cpp">int a[]={3,6,4,23,6,};
int anzahl=sizeof(a)/sizeof(a[0]);//gibt 5, stimmt.
</code></pre>
<p>AAaber:<br />
Arrays, die an Funktionen übergeben werden, sind nur scheinbar Arrays, sondern in Wirklichkeit nur Zeiger aus erste lement.</p>
<pre><code class="language-cpp">void test(int a[]){
   int anzahl=sizeof(a)/sizeof(a[0]);//gibt vermutlich 1, stimmt überhaupt nicht
</code></pre>
<p>Deswegen übergibt man immer den Zeiger aus erste lement UND die Anzahl</p>
<pre><code class="language-cpp">void test(int a[],int anzahl){
   for(int i=0;i&lt;anzahl;++i)
      cout&lt;&lt;a[i]&lt;&lt;' ';
   cout&lt;&lt;'\n'
</code></pre>
<p>und als Aufruf vielleicht</p>
<pre><code class="language-cpp">int main(){
   int a[]={3,6,4,23,6,};
   test(a,sizeof(a)/sizeof(a[0]));
</code></pre>
<p>Soviel zu den Arrays, die keine Klassen sind.</p>
<p>Mit den Klassen vector oder array fährt man diesbezüglich viel besser. Die wissen, wie groß sie sind. Normalerweise sollte man versuchen, diese zu benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132163</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 16 Oct 2011 16:33:39 GMT</pubDate></item><item><title><![CDATA[Reply to array grösse messen on Sun, 16 Oct 2011 16:34:14 GMT]]></title><description><![CDATA[<p>schade eigentlich, würde sicher viel arbeit ersparen, hat sicher einen grund.<br />
also danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132164</guid><dc:creator><![CDATA[Marvin94]]></dc:creator><pubDate>Sun, 16 Oct 2011 16:34:14 GMT</pubDate></item><item><title><![CDATA[Reply to array grösse messen on Sun, 16 Oct 2011 16:38:02 GMT]]></title><description><![CDATA[<p>Der Grund ist das Zero-Overhead Prinzip von C++. Ich bin Struppi sehr dankbar, dass Arrays so dumm sind. Auch Range-Checks hab ich noch nie vermisst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132168</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 16 Oct 2011 16:38:02 GMT</pubDate></item><item><title><![CDATA[Reply to array grösse messen on Sun, 16 Oct 2011 16:44:15 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Der Grund ist das Zero-Overhead Prinzip von C++.</p>
</blockquote>
<p>Falsch. Arrays könnten auch kopiert werden und wer das nicht will, übergibt Zeiger auf Arrays.</p>
<pre><code class="language-cpp">void test(int a[5])//sollte kopieren
void test(int (*a)[5])//sollte nicht kopieren
</code></pre>
<p>Diese Sonderregel für Arrays finde ich nervig.</p>
<p>314159265358979 schrieb:</p>
<blockquote>
<p>Ich bin Struppi sehr dankbar, dass Arrays so dumm sind.</p>
</blockquote>
<p>Damit hat Struppi wenig zu tun. Eher K&amp;R.</p>
<p>314159265358979 schrieb:</p>
<blockquote>
<p>Auch Range-Checks hab ich noch nie vermisst.</p>
</blockquote>
<p>Ich schon.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132176</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 16 Oct 2011 16:44:15 GMT</pubDate></item><item><title><![CDATA[Reply to array grösse messen on Sun, 16 Oct 2011 16:49:29 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Falsch. Arrays könnten auch kopiert werden und wer das nicht will, übergibt Zeiger auf Arrays.</p>
<pre><code class="language-cpp">void test(int a[5])//sollte kopieren
void test(int (*a)[5])//sollte nicht kopieren
</code></pre>
<p>Diese Sonderregel für Arrays finde ich nervig.</p>
</blockquote>
<p>Ich meinte damit nun eher das Speichern der Größe. Und ja, du hast hier natürlich Recht <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>
<p>volkard schrieb:</p>
<blockquote>
<p>Damit hat Struppi wenig zu tun. Eher K&amp;R.</p>
</blockquote>
<p>Naja, er hat sie doch genau so aus C übernommen, oder? <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>volkard schrieb:</p>
<blockquote>
<p>Ich schon.</p>
</blockquote>
<p>Wirklich? Normalerweise benutze ich rohe Arrays nur, wenn ich irgendwelche Compilezeit-Konstante habe, wie im anderen Thread. In diesem Fall bekomme ich die Größe mit sizeof, viel mehr als darüber iterieren muss ich meistens nicht machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132179</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 16 Oct 2011 16:49:29 GMT</pubDate></item><item><title><![CDATA[Reply to array grösse messen on Sun, 16 Oct 2011 17:55:05 GMT]]></title><description><![CDATA[<p>Ja, Arrays sind wegen ihrer &quot;Features&quot; recht mühsam. Glücklicherweise behebt <code>std::array</code> fast alle Probleme (Kopiersemantik, Debug-Range-Checks, kein Array-To-Pointer-Decay, Methode für Grösse, ...).</p>
<p>Ich verwende eigentlich nie mehr rohe Arrays. Marvin94, ich rate dir das Gleiche. Die STL (ich zähle <code>std::array</code> mal dazu) hat auf Vieles eine Antwort.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132232</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 16 Oct 2011 17:55:05 GMT</pubDate></item></channel></rss>