<?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[Matrix als Pointer übergeben]]></title><description><![CDATA[<p>Hi,</p>
<p>ein Array wird ja eigentlich ganz einfach so übergeben, oder?</p>
<pre><code>void Testklasse::testmethode(bool *testArr)
{

}

int main()
{
   bool testArray[10];
   Testobjekt.testmethode(testArray);
}
</code></pre>
<p>Aber wie schaut das ganze dann bei einer Matrix aus?</p>
<p>Grüße,<br />
David</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/334178/matrix-als-pointer-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 22:18:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/334178.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Aug 2015 18:19:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Matrix als Pointer übergeben on Wed, 26 Aug 2015 18:19:41 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ein Array wird ja eigentlich ganz einfach so übergeben, oder?</p>
<pre><code>void Testklasse::testmethode(bool *testArr)
{

}

int main()
{
   bool testArray[10];
   Testobjekt.testmethode(testArray);
}
</code></pre>
<p>Aber wie schaut das ganze dann bei einer Matrix aus?</p>
<p>Grüße,<br />
David</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2465709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2465709</guid><dc:creator><![CDATA[Velociraptor45]]></dc:creator><pubDate>Wed, 26 Aug 2015 18:19:41 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix als Pointer übergeben on Wed, 26 Aug 2015 18:25:50 GMT]]></title><description><![CDATA[<p>Wie wäre es, nicht mit rohen Arrays herum zu hantieren und sich stattdessen eigene Datentypen zu definieren, wie es in C++ so schön einfach geht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2465711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2465711</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 26 Aug 2015 18:25:50 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix als Pointer übergeben on Wed, 26 Aug 2015 18:28:32 GMT]]></title><description><![CDATA[<p>Das war jetzt nur nur ein Testcode, um das ganze zu veranschaulichen.</p>
<p>Und warum sollte ich eigene Datentypen definieren, wenn ich ein bool-Array brauche?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2465712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2465712</guid><dc:creator><![CDATA[Velociraptor45]]></dc:creator><pubDate>Wed, 26 Aug 2015 18:28:32 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix als Pointer übergeben on Wed, 26 Aug 2015 18:49:09 GMT]]></title><description><![CDATA[<p>Velociraptor45 schrieb:</p>
<blockquote>
<p>Und warum sollte ich eigene Datentypen definieren, wenn ich ein bool-Array brauche?</p>
</blockquote>
<p>Warum nicht std::array&lt;bool&gt;? Das hat eine viel schönere Semantik als Arrays, weswegen solche Fragen wie hier sich gar nicht erst stellen. Außerdem hast du nach einer Matrix gefragt und es gibt in C++ keinen Basisdatentyp namens &quot;Matrix&quot;. Genau für solche Fälle wurden nutzerdefinierte Datentypen erfunden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2465714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2465714</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 26 Aug 2015 18:49:09 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix als Pointer übergeben on Wed, 26 Aug 2015 19:14:07 GMT]]></title><description><![CDATA[<p>Velociraptor45 schrieb:</p>
<blockquote>
<p>Das war jetzt nur nur ein Testcode, um das ganze zu veranschaulichen.</p>
<p>Und warum sollte ich eigene Datentypen definieren, wenn ich ein bool-Array brauche?</p>
</blockquote>
<p>Weil deine testmethode zum beispiel keine ahnung hat wie groß das array ist das du ihr da gibst und sie deswegen wahrscheinlich wenig bis nix damit anfangen kann.</p>
<p>(Eine) mögliche lösung für deine frage:</p>
<pre><code>#include &lt;array&gt;

template &lt;typename T, size_t N, size_t M&gt;
using Matrix = std::array &lt; std::array&lt;T, N&gt;, M &gt; ;

int main() 
{
    Matrix&lt;double, 3, 3&gt; matrix; // 3x3 Matrix vom typ double
    matrix[0][0] = 1.0; // Benutzen
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2465720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2465720</guid><dc:creator><![CDATA[&amp;lt;array&amp;gt;]]></dc:creator><pubDate>Wed, 26 Aug 2015 19:14:07 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix als Pointer übergeben on Wed, 26 Aug 2015 21:30:29 GMT]]></title><description><![CDATA[<p>Die Empfehlungen, <code>std::array</code> zu nehmen, bzw. bei Bedarf einen eigenen Datentypen zu bauen möchte ich hiermit auch nochmal unterstützen <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 man jedoch trotzem mal mit Lowlevel-Arrays hantieren muss, deren Größe während des Kompilierens bekannt ist,<br />
kann es nicht Schaden zu wissen, dass Arrays eben keine dummen Pointer sind, sondern eine Größeninformation in sich tragen.<br />
Es ist ein Jammer wie oft man Code sieht, der das unter den Tisch fallen lässt:</p>
<pre><code>template &lt;typename T, std::size_t N, std::size_t M&gt;
void print(const T (&amp;a)[N][M])
{
    for (std::size_t i = 0; i &lt; N; ++i)
    {
        std::cout &lt;&lt; ((i == 0) ? &quot;{ &quot; : &quot;, &quot;);
        for (std::size_t j = 0; j &lt; M; ++j)
            std::cout &lt;&lt; ((j == 0) ? &quot;{ &quot; : &quot;, &quot;) &lt;&lt; a[i][j];
        std::cout &lt;&lt; &quot; }&quot;;
    }
    std::cout &lt;&lt; &quot; }&quot; &lt;&lt; std::endl;
}

...

int a[][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
print(a);
</code></pre>
<p>Finnegan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2465732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2465732</guid><dc:creator><![CDATA[Finnegan]]></dc:creator><pubDate>Wed, 26 Aug 2015 21:30:29 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix als Pointer übergeben on Thu, 27 Aug 2015 08:38:02 GMT]]></title><description><![CDATA[<p>Danke euch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2465757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2465757</guid><dc:creator><![CDATA[Velociraptor45]]></dc:creator><pubDate>Thu, 27 Aug 2015 08:38:02 GMT</pubDate></item></channel></rss>