<?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[std::]]></title><description><![CDATA[<p>Ich hätte da mal noch eine Frage. Das hier ist jeztt irgend ein Programm. Wozu brauch man dieses komische std:: ??? Man kann doch auch gleich unter include namespace std schreiben oder wozu machen manche sowas??</p>
<p>#include &lt;iostream&gt;<br />
#include &lt;cstdlib&gt;</p>
<p>int random(int lowerbounds, int upperbounds)<br />
{<br />
return lowerbounds + std::rand() % (upperbounds - lowerbounds + 1);<br />
}</p>
<p>using namespace std;</p>
<p>int main()<br />
{<br />
for (unsigned u = 0; u &lt; 20; u++)<br />
{<br />
cout &lt;&lt; random(1, 49) &lt;&lt; endl;<br />
}</p>
<p>return 0;</p>
<p>Thx Thorsten<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/201281/std</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 21:52:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/201281.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Dec 2007 14:46:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std:: on Thu, 27 Dec 2007 14:46:59 GMT]]></title><description><![CDATA[<p>Ich hätte da mal noch eine Frage. Das hier ist jeztt irgend ein Programm. Wozu brauch man dieses komische std:: ??? Man kann doch auch gleich unter include namespace std schreiben oder wozu machen manche sowas??</p>
<p>#include &lt;iostream&gt;<br />
#include &lt;cstdlib&gt;</p>
<p>int random(int lowerbounds, int upperbounds)<br />
{<br />
return lowerbounds + std::rand() % (upperbounds - lowerbounds + 1);<br />
}</p>
<p>using namespace std;</p>
<p>int main()<br />
{<br />
for (unsigned u = 0; u &lt; 20; u++)<br />
{<br />
cout &lt;&lt; random(1, 49) &lt;&lt; endl;<br />
}</p>
<p>return 0;</p>
<p>Thx Thorsten<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426846</guid><dc:creator><![CDATA[anfängerts1985]]></dc:creator><pubDate>Thu, 27 Dec 2007 14:46:59 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Thu, 27 Dec 2007 14:49:18 GMT]]></title><description><![CDATA[<p>Du brauchst es zB in Headern. Denn wenn du dort &quot;using bla&quot; schreibst, dann gilt das für alle Dateien, die ihn inkludieren. Und damit gehen dir alle Vorteile von Namensräumen über den Jordan.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426849</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 27 Dec 2007 14:49:18 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Thu, 27 Dec 2007 14:49:35 GMT]]></title><description><![CDATA[<p>hmm wuerd mal sagen um am Programm zu sparen wo man kann <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="🙂"
    /><br />
unsing namespace std lädt ja den ganzen namensraum, wenn du aber weißt das du nur einige speziele variablen bzw funktionen brauchst oder sie nicht so oft benutztsr, kannst du es auch &quot;manuel&quot; machen mit std::.</p>
<p>Gruß Tobi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426850</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Thu, 27 Dec 2007 14:49:35 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Thu, 27 Dec 2007 14:54:57 GMT]]></title><description><![CDATA[<p>Wenn ich das aber so in MS- Studio eingebe und dann compiliere zeigt er mir immer einen Fehler an fatal error, wegen diesem std::</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426857</guid><dc:creator><![CDATA[HiIII]]></dc:creator><pubDate>Thu, 27 Dec 2007 14:54:57 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Thu, 27 Dec 2007 14:56:14 GMT]]></title><description><![CDATA[<p>T0bi schrieb:</p>
<blockquote>
<p>hmm wuerd mal sagen um am Programm zu sparen wo man kann <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="🙂"
    /><br />
unsing namespace std lädt ja den ganzen namensraum, wenn du aber weißt das du nur einige speziele variablen bzw funktionen brauchst oder sie nicht so oft benutztsr, kannst du es auch &quot;manuel&quot; machen mit std::.</p>
</blockquote>
<p>Wär schön, wenn das was ausmachen würde <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426859</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 27 Dec 2007 14:56:14 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Thu, 27 Dec 2007 15:01:09 GMT]]></title><description><![CDATA[<p>es ist einfach besser zur trennung<br />
so kann cih zb eine eigene funktion namens cout definieren<br />
wenn cih dann</p>
<p>own::cout und<br />
std::cout verwende, weiss ich welches welches ist - aber so</p>
<p>using namespace own;<br />
using namespace std;</p>
<p>cout // welches ?</p>
<p>genauso alle anderen sachen die in std definiert sind<br />
das das programm langsamer wird stimmt nicht, es wird beim compile wegoptimiert<br />
nur so weiss ich - das und jenes sind funktionen aus dem standard, und nicht irgendwoher</p>
<p>braucht nur irgendwer auf die idee kommen ein namen zu verwenden der im std auch vorkommt, evtl durch unwissenheit, und ich habe das std mit using geoeffnet, und benutzt dann seinen haeder, dann hab cih massig probleme</p>
<p>man kann auch</p>
<p>using namespace std::cout; machen, kommt auf selbe</p>
<p>demzufolge:<br />
using namespace == boese</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426863</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Thu, 27 Dec 2007 15:01:09 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Thu, 27 Dec 2007 15:29:18 GMT]]></title><description><![CDATA[<p>Kleine Berichtigung.<br />
Um einzelne Namen in den globalen Namesraum einzubinden:</p>
<pre><code class="language-cpp">using std::cout; // no 'namespace'
</code></pre>
<p>Im Header sollte man niemals 'using namespace ...' benutzen, und in den Sourcedateien ist es Geschmackssache (bzw. Tipparbeit -).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426874</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Thu, 27 Dec 2007 15:29:18 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Thu, 27 Dec 2007 18:05:16 GMT]]></title><description><![CDATA[<p>Also bedeuet das, dass man in jeder datei nur einmal namespace benutzen sollte ???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426945</guid><dc:creator><![CDATA[ubernoob]]></dc:creator><pubDate>Thu, 27 Dec 2007 18:05:16 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Thu, 27 Dec 2007 18:06:04 GMT]]></title><description><![CDATA[<p>außer in headerfiles</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426947</guid><dc:creator><![CDATA[ubernoob]]></dc:creator><pubDate>Thu, 27 Dec 2007 18:06:04 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Thu, 27 Dec 2007 18:20:46 GMT]]></title><description><![CDATA[<p>ubernoob schrieb:</p>
<blockquote>
<p>Also bedeuet das, dass man in jeder datei nur einmal namespace benutzen sollte ???</p>
</blockquote>
<p>Nein, aber Du solltest nach Möglichkeit &quot;using namespace XYZ&quot; gar nicht verwenden. Qualifizierung von Namen ist nur mehr Tipparbeit hat sonst aber keinerlei negative Auswirkungen. Das benutzen von Nichtqualifizierten Bezeichnern hingegen führt zu Doppeldeutigkeiten und Überdeckungseffekten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426955</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Thu, 27 Dec 2007 18:20:46 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Thu, 27 Dec 2007 18:40:57 GMT]]></title><description><![CDATA[<p>Ja, aber wenn man nur einen Namensraum verwendet gibts doch keinen Überdeckungseffekt, und ich verwende nur den Namespace std. War mir aber nicht sicher ob man nicht doch mehrere verwenden kann, hat sich aber jetzt erledigt, thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426965</guid><dc:creator><![CDATA[ubernoob]]></dc:creator><pubDate>Thu, 27 Dec 2007 18:40:57 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Thu, 27 Dec 2007 21:27:14 GMT]]></title><description><![CDATA[<p>ubernoob schrieb:</p>
<blockquote>
<p>Ja, aber wenn man nur einen Namensraum verwendet gibts doch keinen Überdeckungseffekt, und ich verwende nur den Namespace std....</p>
</blockquote>
<p>Ja ... aber das bedeutet, er nutzt <em>alles</em> aus diesem Namensraum - und das ist eine ganze Menge !!<br />
All das kann mit Namen kollidieren, die Du selbst deklarieren oder wo anders her importieren willst.<br />
Da man sogar nachträglich alles Mögliche in den namespace importieren kann, wird's noch komplexer:</p>
<pre><code class="language-cpp">namespace std {
   void SimonsFunktion() { }
   void openGLDraw() {}
   void directXdraw() {}
}
// Hoppla, jetzt sind diese Funktionen ebenfalls im Namensraum std.
</code></pre>
<p>... sprich: Nicht tun.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427017</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 27 Dec 2007 21:27:14 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Fri, 28 Dec 2007 10:01:51 GMT]]></title><description><![CDATA[<p>ubernoob schrieb:</p>
<blockquote>
<p>Ja, aber wenn man nur einen Namensraum verwendet gibts doch keinen Überdeckungseffekt, und ich verwende nur den Namespace std.</p>
</blockquote>
<p>std ist fürs Beschreiben Tabu! Du blendest via &quot;using namenspace std&quot; &quot;std&quot; in den globalen Namensraums ein. In diesem globalen Namensraum tummeln sich alle C-Libraries etc. Die Gefahr, daß es hierbei zu Namenskollisionen oder Überdeckungseffekten der &quot;std&quot; Objekte kommt ist extrem groß. Wenn Du eigenen Library Projekte oder Komponenten entwirfst, solltest Du sie in einen eigenen Namensraum ablegen, dadurch verhinderst Du Namenskollisionen. Ich weiß auch nicht warum bei vielen C++-Programmieren so eine Abneigung gegen Namensräume existiert, sachlich gibt es bei neuen Projekten dafür keinen Grund.</p>
<pre><code class="language-cpp">namespace ubernoon {
  namespace projektx {
     class Foo {
     };
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1427138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427138</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Fri, 28 Dec 2007 10:01:51 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Fri, 28 Dec 2007 14:38:37 GMT]]></title><description><![CDATA[<p>~john schrieb:</p>
<blockquote>
<p>ubernoob schrieb:</p>
<blockquote>
<p>Also bedeuet das, dass man in jeder datei nur einmal namespace benutzen sollte ???</p>
</blockquote>
<p>Nein, aber Du solltest nach Möglichkeit &quot;using namespace XYZ&quot; gar nicht verwenden. Qualifizierung von Namen ist nur mehr Tipparbeit hat sonst aber keinerlei negative Auswirkungen. Das benutzen von Nichtqualifizierten Bezeichnern hingegen führt zu Doppeldeutigkeiten und Überdeckungseffekten.</p>
</blockquote>
<p>Ach was. In Implementierungsdateien ist das doch alles irrelevant, denn hier sollte man überschauen können, welche Symbole verfügbar sind bzw. sich eventuell überdecken.</p>
<p>Und überall vollqualifizierte Bandwurmbezeichner zu verwenden ist für die Lesbarkeit auch nicht gerade das beste. Im Gegenteil: C++ ist sowieso meist schon ziemlich komplex, da muss man nicht auch noch vollqualifizierte Namen verwenden, wenn es sich auch vermeiden lässt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427256</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Fri, 28 Dec 2007 14:38:37 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Fri, 28 Dec 2007 19:25:58 GMT]]></title><description><![CDATA[<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>Ach was. In Implementierungsdateien ist das doch alles irrelevant, denn hier sollte man überschauen können, welche Symbole verfügbar sind bzw. sich eventuell überdecken.</p>
</blockquote>
<p>Es verschlechtert die Lesbarkeit des Codes, und macht damit die Softwarewartung aufwendiger. Wenn man &quot;vector&lt;int&gt;&quot; liest, denkt doch jeder an &quot;std::vector&lt;int&gt;&quot; und nicht an &quot;john::vector&lt;int&gt;&quot; oder gar &quot;::vector&lt;int&gt;&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427376</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Fri, 28 Dec 2007 19:25:58 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Fri, 28 Dec 2007 19:31:51 GMT]]></title><description><![CDATA[<p>Ach ja: so etwas ist ja auch möglich</p>
<pre><code class="language-cpp">// Header Datei
namespace john {
namespace std {
  template &lt;typename T&gt;
  class vector {
  ...
  };
}}
</code></pre>
<pre><code class="language-cpp">// CC Datei
#include &quot;my_header.h&quot;

using namespace john;

int main {
  std::vector&lt;int&gt; v;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1427378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427378</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Fri, 28 Dec 2007 19:31:51 GMT</pubDate></item><item><title><![CDATA[Reply to std:: on Fri, 28 Dec 2007 20:10:33 GMT]]></title><description><![CDATA[<p>~john schrieb:</p>
<blockquote>
<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>Ach was. In Implementierungsdateien ist das doch alles irrelevant, denn hier sollte man überschauen können, welche Symbole verfügbar sind bzw. sich eventuell überdecken.</p>
</blockquote>
<p>Es verschlechtert die Lesbarkeit des Codes, und macht damit die Softwarewartung aufwendiger. Wenn man &quot;vector&lt;int&gt;&quot; liest, denkt doch jeder an &quot;std::vector&lt;int&gt;&quot; und nicht an &quot;john::vector&lt;int&gt;&quot; oder gar &quot;::vector&lt;int&gt;&quot;.</p>
</blockquote>
<p>Nö. Wer es nicht schafft, kontextabhängig zu denken, hat eh verloren. Wenn ich in einem Linear-Algebra-Code mit einem nicht näher qualifizierten Vektor arbeite, dann erwarte ich natürlich, dass das ein algebraischer Vektor ist und kein 'std::vector'. Und wenn ich gerade einen Wrapper für die 3rd-Party-Bibliothek „john“ schreibe, dann erwarte ich natürlich einen 'john::vector'.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427396</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Fri, 28 Dec 2007 20:10:33 GMT</pubDate></item></channel></rss>