<?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[external linkage und anonyme Namespaces]]></title><description><![CDATA[<p>Hi,</p>
<p>nachdem ich mal wieder in Modern C++ Design gelesen habe, bin ich auf etwas gestoßen, was mich ziemlich verwirrt hat. Da meint Herr Alexandrescu:</p>
<blockquote>
<p>You can easily transform static functions into functions with external linkage by removing static and putting them into unnamed namespaces.</p>
</blockquote>
<p>~Wen es interessiert, es steht im Kapitel Multimethoden (11.6.2)~</p>
<p>Ich dachte eigentlich, dass anonyme Namespaces der moderne Ersatz für static wären und dafür sorgen, dass eine Funktion internal Linkage bekommt? Ist das doch nicht so? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/136361/external-linkage-und-anonyme-namespaces</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 12:57:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/136361.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 Feb 2006 13:57:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to external linkage und anonyme Namespaces on Thu, 09 Feb 2006 13:57:57 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>nachdem ich mal wieder in Modern C++ Design gelesen habe, bin ich auf etwas gestoßen, was mich ziemlich verwirrt hat. Da meint Herr Alexandrescu:</p>
<blockquote>
<p>You can easily transform static functions into functions with external linkage by removing static and putting them into unnamed namespaces.</p>
</blockquote>
<p>~Wen es interessiert, es steht im Kapitel Multimethoden (11.6.2)~</p>
<p>Ich dachte eigentlich, dass anonyme Namespaces der moderne Ersatz für static wären und dafür sorgen, dass eine Funktion internal Linkage bekommt? Ist das doch nicht so? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/990132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/990132</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Thu, 09 Feb 2006 13:57:57 GMT</pubDate></item><item><title><![CDATA[Reply to external linkage und anonyme Namespaces on Thu, 09 Feb 2006 14:22:16 GMT]]></title><description><![CDATA[<p>Funktionen in einem unbenannten Namensraum haben durchaus externe Linkage (weil kein static dabeisteht), allerdings wird in den Funktionsnamen noch der Name des Namensraums reingebunden - und der anonyme Namensraum bekommt eine extrem kryptische Bezeichnung, die vom akutellen Quellfile abhängt - so daß der Linker es nicht mehr schafft, die Funktion wiederzufinden. Und dadurch bleiben die Funktionen dann doch in dem Quellfile, das sie eingebunden hat.</p>
<p>(ich hoffe mal, das stimmt so ungefähr)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/990160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/990160</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Thu, 09 Feb 2006 14:22:16 GMT</pubDate></item><item><title><![CDATA[Reply to external linkage und anonyme Namespaces on Thu, 09 Feb 2006 15:20:21 GMT]]></title><description><![CDATA[<p>@7H3 N4C3R<br />
Das ist ja gerade der Vorteil von anonymen Namespaces (in cpp-Dateien). Elemente darin sind genausowenig in anderen UEs sichtbar wie static deklarierte Funktionen/Variablen. Gleichzeitig besitzen die Elemente eines anonymen Namespaces aber external linkage und können damit für die Instanziierung von Templates benutzt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/990199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/990199</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Thu, 09 Feb 2006 15:20:21 GMT</pubDate></item><item><title><![CDATA[Reply to external linkage und anonyme Namespaces on Fri, 10 Feb 2006 08:52:06 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/110">@HumeSikkins</a>: Ah okay... das macht irgendwie Sinn <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>
]]></description><link>https://www.c-plusplus.net/forum/post/990655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/990655</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Fri, 10 Feb 2006 08:52:06 GMT</pubDate></item></channel></rss>