<?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[Großes Array]]></title><description><![CDATA[<p>Ich möchte einen Teil meiner Mathe-Funktionen von C auf C++ umstellen.<br />
Hier verwende ich teilweise sehr große C-Arrays, die ich auf dem Heap anlege.</p>
<p>Kann ich das bei der Verwendung von std::array auch angeben?<br />
Ich kann mir vorstellen, dass es sonst leicht zu Stack-Overflows kommt.<br />
Oder generell: Wie wird der Speicher bei std::arrays verwaltet?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/342614/großes-array</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 04:57:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/342614.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 24 Apr 2017 13:25:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Großes Array on Mon, 24 Apr 2017 13:25:00 GMT]]></title><description><![CDATA[<p>Ich möchte einen Teil meiner Mathe-Funktionen von C auf C++ umstellen.<br />
Hier verwende ich teilweise sehr große C-Arrays, die ich auf dem Heap anlege.</p>
<p>Kann ich das bei der Verwendung von std::array auch angeben?<br />
Ich kann mir vorstellen, dass es sonst leicht zu Stack-Overflows kommt.<br />
Oder generell: Wie wird der Speicher bei std::arrays verwaltet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2528605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2528605</guid><dc:creator><![CDATA[arrayal]]></dc:creator><pubDate>Mon, 24 Apr 2017 13:25:00 GMT</pubDate></item><item><title><![CDATA[Reply to Großes Array on Mon, 24 Apr 2017 13:44:20 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich kann mir vorstellen, dass es sonst leicht zu Stack-Overflows kommt.</p>
</blockquote>
<p>ja kannst du</p>
<blockquote>
<p>Oder generell: Wie wird der Speicher bei std::arrays verwaltet?</p>
</blockquote>
<p>Stack</p>
<p>btw: google liefert sehr viel einfach infos zu std::array</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2528606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2528606</guid><dc:creator><![CDATA[Gast3]]></dc:creator><pubDate>Mon, 24 Apr 2017 13:44:20 GMT</pubDate></item><item><title><![CDATA[Reply to Großes Array on Mon, 24 Apr 2017 13:45:45 GMT]]></title><description><![CDATA[<p>arrayal schrieb:</p>
<blockquote>
<p>Kann ich das bei der Verwendung von std::array auch angeben?</p>
</blockquote>
<p>Nein - zumindest nicht innerhalb von std::array.<br />
std::array hat automatic storage duration (ist also auf dem Stack). Da ist nichts magisches drin, es ist wie wie ein normales C-Array.</p>
<p>Aber du kannst natürlich z.B. einen <code>std::unique_ptr&lt;std::array&lt;...&gt;&gt;</code> nehmen, um das Array im free storage (heap) zu speichern.</p>
<p>Weißt du die Größe denn schon zur Compilezeit?</p>
<p>Wenn du die Größe vorher noch nicht weißt, nimm <code>std::vector</code> .<br />
Du kannst ansonsten auch einen <code>std::unique_ptr&lt;int[]&gt;</code> nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2528607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2528607</guid><dc:creator><![CDATA[wob]]></dc:creator><pubDate>Mon, 24 Apr 2017 13:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to Großes Array on Mon, 24 Apr 2017 13:49:25 GMT]]></title><description><![CDATA[<p>wob schrieb:</p>
<blockquote>
<p>Aber du kannst natürlich z.B. einen <code>std::unique_ptr&lt;std::array&lt;...&gt;&gt;</code> nehmen, um das Array im free storage (heap) zu speichern.</p>
</blockquote>
<p>Ist das Zero-Copy?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2528609</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2528609</guid><dc:creator><![CDATA[dachschaden]]></dc:creator><pubDate>Mon, 24 Apr 2017 13:49:25 GMT</pubDate></item><item><title><![CDATA[Reply to Großes Array on Mon, 24 Apr 2017 16:14:06 GMT]]></title><description><![CDATA[<p>Ich sehe da erstmal keine Kopie - das ist ja nur ein Typ. Solange du da nix kopierst... Eventuell value initialization beachten, d.h. wenn du</p>
<pre><code>auto a = std::make_unique&lt;std::array&lt;int, 200&gt;&gt;();
</code></pre>
<p>machst, kopierst du 0 in alle 200 Feldelemente. Mit <code>auto a2 = unique_ptr&lt;array&lt;int, 200&gt;&gt;(new array&lt;int, 200&gt;)</code> wäre das nicht der Fall. Meintest du das mit &quot;zero-copy&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2528617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2528617</guid><dc:creator><![CDATA[wob]]></dc:creator><pubDate>Mon, 24 Apr 2017 16:14:06 GMT</pubDate></item><item><title><![CDATA[Reply to Großes Array on Mon, 24 Apr 2017 18:03:52 GMT]]></title><description><![CDATA[<p>wob schrieb:</p>
<blockquote>
<p>Meintest du das mit &quot;zero-copy&quot;?</p>
</blockquote>
<p>Yup.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2528626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2528626</guid><dc:creator><![CDATA[dachschaden]]></dc:creator><pubDate>Mon, 24 Apr 2017 18:03:52 GMT</pubDate></item><item><title><![CDATA[Reply to Großes Array on Mon, 24 Apr 2017 18:30:01 GMT]]></title><description><![CDATA[<p>dachschaden schrieb:</p>
<blockquote>
<p>wob schrieb:</p>
<blockquote>
<p>Meintest du das mit &quot;zero-copy&quot;?</p>
</blockquote>
<p>Yup.</p>
</blockquote>
<p>Es wäre wünschenswert, wenn du dir die übliche Terminologie aneignen würdest. Unter &quot;Zero-Copy&quot; versteht man i.d.R. etwas Anderes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2528631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2528631</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 24 Apr 2017 18:30:01 GMT</pubDate></item><item><title><![CDATA[Reply to Großes Array on Tue, 25 Apr 2017 00:14:17 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>Es wäre wünschenswert, wenn du dir die übliche Terminologie aneignen würdest. Unter &quot;Zero-Copy&quot; versteht man i.d.R. etwas Anderes.</p>
</blockquote>
<p>Es ist mir relativ egal, ob Programmierer bei &quot;Zero-Copy&quot; nur an Kernelland &lt;=&gt; Userland-Kommunikation denken. Wenn du Daten nicht kopieren musst, dann kopiere sie einfach nicht. Kopien von Userland &lt;=&gt; Userland sind nur wenig billiger, und in diesem Thread haben wir einen schönen Fall, in dem keine Kopie nötig ist =&gt; zero copy.</p>
<p>Wenn dies Leute verwirrt, dann meines Erachtens aus guten Grund - weil sie sich dieser Problematik nicht mal wirklich bewusst sind (&quot;ich mach' ja eh keine Kernel/Treiberentwicklung&quot;).</p>
<p>EDIT: Ich habe bereits in diesem Forum Leute gesehen, die sich einen Server geschrieben, aber dann bei der Verarbeitung der Daten diese wild hin- und herkopiert haben. Wenn ich durch diese Generalisierung Leute davon abbringen kann, dies zu tun, gewinnen alle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2528647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2528647</guid><dc:creator><![CDATA[dachschaden]]></dc:creator><pubDate>Tue, 25 Apr 2017 00:14:17 GMT</pubDate></item><item><title><![CDATA[Reply to Großes Array on Tue, 25 Apr 2017 02:25:40 GMT]]></title><description><![CDATA[<p>dachschaden schrieb:</p>
<blockquote>
<p>Wenn du Daten nicht kopieren musst, dann kopiere sie einfach nicht.</p>
</blockquote>
<p>Das ist richtig. Was hat das jetzt mit deiner Verwendung des Begriffes zu tun?</p>
<p>dachschaden schrieb:</p>
<blockquote>
<p>und in diesem Thread haben wir einen schönen Fall, in dem keine Kopie nötig ist =&gt; zero copy.</p>
</blockquote>
<p>Nein, haben wir nicht. Es war vom Anlegen eines Arrays die Rede. Wo soll es hier bitte zu einer vermeidbaren Kopie kommen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2528653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2528653</guid><dc:creator><![CDATA[;brq]]></dc:creator><pubDate>Tue, 25 Apr 2017 02:25:40 GMT</pubDate></item><item><title><![CDATA[Reply to Großes Array on Tue, 25 Apr 2017 05:20:55 GMT]]></title><description><![CDATA[<p>arrayal schrieb:</p>
<blockquote>
<p>Hier verwende ich teilweise sehr große C-Arrays, die ich auf dem Heap anlege.</p>
</blockquote>
<p>Das sind dann keine C-Arrays.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2528654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2528654</guid><dc:creator><![CDATA[Wutz]]></dc:creator><pubDate>Tue, 25 Apr 2017 05:20:55 GMT</pubDate></item></channel></rss>