<?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[Template-Funktion zum löschen von Array]]></title><description><![CDATA[<p>Wie kann ich folgendes Makro:</p>
<pre><code class="language-cpp">#define CLEARARRAY(arr) { memset(arr, 0, sizeof(arr)); }
</code></pre>
<p>Als Template-Funktion schreiben? Ich hab schon alles probiert, bekomme es aber nicht gebacken...</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/142734/template-funktion-zum-löschen-von-array</link><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 22:06:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/142734.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 02 Apr 2006 13:09:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template-Funktion zum löschen von Array on Sun, 02 Apr 2006 13:09:27 GMT]]></title><description><![CDATA[<p>Wie kann ich folgendes Makro:</p>
<pre><code class="language-cpp">#define CLEARARRAY(arr) { memset(arr, 0, sizeof(arr)); }
</code></pre>
<p>Als Template-Funktion schreiben? Ich hab schon alles probiert, bekomme es aber nicht gebacken...</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029126</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029126</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Sun, 02 Apr 2006 13:09:27 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Funktion zum löschen von Array on Sun, 02 Apr 2006 13:14:19 GMT]]></title><description><![CDATA[<p>Grundsätzlich so:</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
void cleararray (T* arr)
{
    memset(arr,0,sizeof(arr));
}
</code></pre>
<p>aber! sizeof(arr) wird dir in diesem Fall mit ziemlicher Sicherheit nicht das gewünschte Ergebnis liefern. Das was du wahrscheinlich suchst ist ohne zweiten Parameter bei cleararray imho nicht möglich.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029131</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Sun, 02 Apr 2006 13:14:19 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Funktion zum löschen von Array on Sun, 02 Apr 2006 13:19:54 GMT]]></title><description><![CDATA[<p>SideWinder schrieb:</p>
<blockquote>
<p>Grundsätzlich so:</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
void cleararray (T* arr)
{
    memset(arr,0,sizeof(arr));
}
</code></pre>
<p>aber! sizeof(arr) wird dir in diesem Fall mit ziemlicher Sicherheit nicht das gewünschte Ergebnis liefern. Das was du wahrscheinlich suchst ist ohne zweiten Parameter bei cleararray imho nicht möglich.</p>
<p>MfG SideWinder</p>
</blockquote>
<p>Jo, genau das suche ich <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="😃"
    /><br />
Und ich dachte halt, dass das mit Templates geht, da dort ja alles beim compilieren erstellt wird und sizeof() dann funktionieren könnte. Auch habe ich gelesen, dass man theoretisch jedes makro durch ein funktionstemplate ersetzten kann. Stimmt das überhaupt?</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029133</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Sun, 02 Apr 2006 13:19:54 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Funktion zum löschen von Array on Sun, 02 Apr 2006 16:53:08 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt;typename T, size_t N&gt;
void cleararray (T(&amp;arr)[N])
{
    std::fill_n( &amp;arr[0], N, T() );
}
</code></pre>
<p>joomoo schrieb:</p>
<blockquote>
<p>Auch habe ich gelesen, dass man theoretisch jedes makro durch ein funktionstemplate ersetzten kann. Stimmt das überhaupt?</p>
</blockquote>
<p>nein. macros haben durchaus ihre berechtigung - allerdings lassen sich die meisten einfachen macro-funktionnen durch templates ersetzen, und dabei kann man eben problemen, die durch den einsatz von macros entstehen, aus dem weg gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029295</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sun, 02 Apr 2006 16:53:08 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Funktion zum löschen von Array on Sun, 02 Apr 2006 22:52:34 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<pre><code class="language-cpp">template &lt;typename T, size_t N&gt;
void cleararray (T(&amp;arr)[N])
{
    std::fill_n( &amp;arr[0], N, T() );
}
</code></pre>
</blockquote>
<p>Das versteh ich irgentwie nicht. Besonders der Pramater:</p>
<pre><code class="language-cpp">T(&amp;arr)[N]
</code></pre>
<p>Was macht hier der &amp; Operator?</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029447</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Sun, 02 Apr 2006 22:52:34 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Funktion zum löschen von Array on Mon, 03 Apr 2006 07:38:14 GMT]]></title><description><![CDATA[<p>joomoo schrieb:</p>
<blockquote>
<p>Das versteh ich irgentwie nicht. Besonders der Pramater:</p>
<pre><code class="language-cpp">T(&amp;arr)[N]
</code></pre>
<p>Was macht hier der &amp; Operator?</p>
</blockquote>
<p>Das selbe wie bei int&amp; x. Er leitet die Deklaration einer Referenz ein. In diesem Fall eine Referenz namens arr auf ein Array der Größe N mit Elementtyp T.<br />
Die Klammern sind nötig, da T&amp; arr[N] ein Array von Referenzen auf T wäre. Das ist zum einen nicht gewollt und zum anderen auch gar nicht möglich, da Arrays von Referenzen in C++ nicht legal sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1029508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1029508</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Mon, 03 Apr 2006 07:38:14 GMT</pubDate></item></channel></rss>