<?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[tr1::array als funktionsargument]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte ein tr1::array als Funktionsargument übergeben und dachte da an so etwas:</p>
<pre><code class="language-cpp">void abc(array&lt;array&lt;double&gt;&gt; &amp;vec) const;
</code></pre>
<p>Jetzt meldet mir der Compiler dass ich gefälligst die Größe des Arrays mit angeben sollte. Wozu? Wie kann man es umgehen wenn man nicht weiß wie groß die Dimensionen des übergebenen Arrays sein werden?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/284097/tr1-array-als-funktionsargument</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 07:37:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/284097.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 Mar 2011 14:58:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to tr1::array als funktionsargument on Fri, 25 Mar 2011 14:58:13 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte ein tr1::array als Funktionsargument übergeben und dachte da an so etwas:</p>
<pre><code class="language-cpp">void abc(array&lt;array&lt;double&gt;&gt; &amp;vec) const;
</code></pre>
<p>Jetzt meldet mir der Compiler dass ich gefälligst die Größe des Arrays mit angeben sollte. Wozu? Wie kann man es umgehen wenn man nicht weiß wie groß die Dimensionen des übergebenen Arrays sein werden?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2039971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2039971</guid><dc:creator><![CDATA[GastProgrammierer]]></dc:creator><pubDate>Fri, 25 Mar 2011 14:58:13 GMT</pubDate></item><item><title><![CDATA[Reply to tr1::array als funktionsargument on Fri, 25 Mar 2011 15:01:57 GMT]]></title><description><![CDATA[<p>Ein <code>std::array</code> hat eine feste Größe. Du suchst etwas wie <code>std::vector</code></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2039976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2039976</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Fri, 25 Mar 2011 15:01:57 GMT</pubDate></item><item><title><![CDATA[Reply to tr1::array als funktionsargument on Fri, 25 Mar 2011 15:02:36 GMT]]></title><description><![CDATA[<p>Die Größe des Arrays ist Teil des Typs. Der Typ array&lt;double,3&gt; ist ein anderer als array&lt;double,5&gt;.</p>
<p>&gt; Wie kann man es umgehen ... ?</p>
<p>Zum Beispiel: statt array einfach vector benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2039978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2039978</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 25 Mar 2011 15:02:36 GMT</pubDate></item><item><title><![CDATA[Reply to tr1::array als funktionsargument on Fri, 25 Mar 2011 15:08:15 GMT]]></title><description><![CDATA[<p>So zum Beispiel: <a href="http://ideone.com/XHk75" rel="nofollow">http://ideone.com/XHk75</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2039981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2039981</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Fri, 25 Mar 2011 15:08:15 GMT</pubDate></item><item><title><![CDATA[Reply to tr1::array als funktionsargument on Fri, 25 Mar 2011 15:19:12 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>So zum Beispiel: <a href="http://ideone.com/XHk75" rel="nofollow">http://ideone.com/XHk75</a></p>
</blockquote>
<p>Das sieht gut aus, aber würde es aber auch damit funktionieren?</p>
<pre><code class="language-cpp">array&lt;array&lt;3&gt;,GetCount()&gt; vec;
...
// Befüllen
...
a(vec);
</code></pre>
<p>Wahrscheinlich nicht weil n ja während der Laufzeit vorgegeben wird während das Template zur Kompilierzeit für einen bestimmten Typ generiert wird oder sehe ich das falsch?</p>
<p>Wahscheinlich muss ich doch noch zum vector greifen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2039985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2039985</guid><dc:creator><![CDATA[GastProgrammierer]]></dc:creator><pubDate>Fri, 25 Mar 2011 15:19:12 GMT</pubDate></item><item><title><![CDATA[Reply to tr1::array als funktionsargument on Fri, 25 Mar 2011 15:19:58 GMT]]></title><description><![CDATA[<p>Das erzeugt einen enormen Code Bloat für eine Sache, die man mit weniger Code und ohne Code Bloat wesentlich eleganter mit einem std::vector lösen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2039986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2039986</guid><dc:creator><![CDATA[fghfgh]]></dc:creator><pubDate>Fri, 25 Mar 2011 15:19:58 GMT</pubDate></item><item><title><![CDATA[Reply to tr1::array als funktionsargument on Fri, 25 Mar 2011 15:20:47 GMT]]></title><description><![CDATA[<p>Was hast du eigentlich gegen std::vector?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2039987</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2039987</guid><dc:creator><![CDATA[fghfgh]]></dc:creator><pubDate>Fri, 25 Mar 2011 15:20:47 GMT</pubDate></item><item><title><![CDATA[Reply to tr1::array als funktionsargument on Fri, 25 Mar 2011 15:22:53 GMT]]></title><description><![CDATA[<p>Ich finde, wenn ein vector nicht unbedingt gebraucht wird, dann soll er doch ein std::array nutzen.</p>
<p>@GastProgrammierer: Richtig, templates sind Compiletime-Konstrukte, das wird so nicht funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2039989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2039989</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Fri, 25 Mar 2011 15:22:53 GMT</pubDate></item><item><title><![CDATA[Reply to tr1::array als funktionsargument on Fri, 25 Mar 2011 15:24:23 GMT]]></title><description><![CDATA[<p>fghfgh schrieb:</p>
<blockquote>
<p>Was hast du eigentlich gegen std::vector?</p>
</blockquote>
<p>Es fühlt sich für mich falsch an ein dynamisch wachsendes array (vector) für Aufgaben zu nehmen dort wo man die Größe &quot;eigentlich&quot; kennt.</p>
<p>Da jedoch schon mehrere sich zum vector geäußert haben scheint es die übliche Vorgehensweise zu sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2039991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2039991</guid><dc:creator><![CDATA[GastProgrammierer]]></dc:creator><pubDate>Fri, 25 Mar 2011 15:24:23 GMT</pubDate></item><item><title><![CDATA[Reply to tr1::array als funktionsargument on Fri, 25 Mar 2011 15:28:41 GMT]]></title><description><![CDATA[<p>Ich verwende array immer, wo es geht, weil ich hier keine dynamische Allokation brauche, was einen Geschwindigkeitsvorteil bringt. Wenn du also nichts dynamisches brauchst, dann kannst du ruhig das array nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2039996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2039996</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Fri, 25 Mar 2011 15:28:41 GMT</pubDate></item><item><title><![CDATA[Reply to tr1::array als funktionsargument on Fri, 25 Mar 2011 15:40:54 GMT]]></title><description><![CDATA[<p>Man sollte sich nicht von seinem Gefühlen leiten lassen. Wir sind hier nicht bei Star Wars! <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>Im ernst, ein Vector ist kein lebender Organismus. Er wächst tatsächlich nur dann wenn er es muß. Trau dich! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2039999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2039999</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 25 Mar 2011 15:40:54 GMT</pubDate></item><item><title><![CDATA[Reply to tr1::array als funktionsargument on Fri, 25 Mar 2011 15:48:16 GMT]]></title><description><![CDATA[<p>GastProgrammierer schrieb:</p>
<blockquote>
<p>Wahrscheinlich nicht weil n ja während der Laufzeit vorgegeben wird während das Template zur Kompilierzeit für einen bestimmten Typ generiert wird oder sehe ich das falsch?</p>
</blockquote>
<p>Genau, C-Arrays und <code>std::tr1::array</code> erfordern für ihre Grösse <em>konstante Ausdrücke</em>, die bereits zur Kompilierzeit feststehen. Nimm also <code>std::vector</code> .</p>
<p>Oder wenn du Boost hast und mehrdimensionale Arrays brauchst, kannst du auch <code>boost::multi_array</code> anschauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2040002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2040002</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 25 Mar 2011 15:48:16 GMT</pubDate></item><item><title><![CDATA[Reply to tr1::array als funktionsargument on Fri, 25 Mar 2011 16:27:51 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Oder wenn du Boost hast und mehrdimensionale Arrays brauchst, kannst du auch <code>boost::multi_array</code> anschauen.</p>
</blockquote>
<p>Boost ist ein gutes Stichwort. Es ist alles schön mit Boost multi_array implementiert. Mein Arbeitgeber besteht jedoch darauf, dass die Implementierung Boostfrei bleibt und da er bezahlt darf er den Takt vorgeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2040020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2040020</guid><dc:creator><![CDATA[GastProgrammierer]]></dc:creator><pubDate>Fri, 25 Mar 2011 16:27:51 GMT</pubDate></item></channel></rss>