<?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[Strings zusammensetzen]]></title><description><![CDATA[<p>Hallo,</p>
<p>weiss jemand, ob es eine Moeglichkeit gibt, das Zusammensetzen eines Strings aus String-Literalen und arithmetischen Variablen kompakt zu realisieren? Also ungefaehr sowas:</p>
<pre><code class="language-cpp">int i = 0;
string s;
s = &quot;a&quot; + i + &quot;b&quot;;
</code></pre>
<p>Das geht so natuerlich nicht und ich mache es (nach meinem Ermessen recht umstaendlich) mit Stringstreams.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/249054/strings-zusammensetzen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 16:00:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/249054.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Sep 2009 08:07:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Strings zusammensetzen on Wed, 02 Sep 2009 08:07:48 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>weiss jemand, ob es eine Moeglichkeit gibt, das Zusammensetzen eines Strings aus String-Literalen und arithmetischen Variablen kompakt zu realisieren? Also ungefaehr sowas:</p>
<pre><code class="language-cpp">int i = 0;
string s;
s = &quot;a&quot; + i + &quot;b&quot;;
</code></pre>
<p>Das geht so natuerlich nicht und ich mache es (nach meinem Ermessen recht umstaendlich) mit Stringstreams.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1770714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770714</guid><dc:creator><![CDATA[ingobulla]]></dc:creator><pubDate>Wed, 02 Sep 2009 08:07:48 GMT</pubDate></item><item><title><![CDATA[Reply to Strings zusammensetzen on Wed, 02 Sep 2009 08:10:07 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>um bequem mit dem operator+ strings zu verketten könntest du ihn einfach überladen <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/1770717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770717</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 02 Sep 2009 08:10:07 GMT</pubDate></item><item><title><![CDATA[Reply to Strings zusammensetzen on Wed, 02 Sep 2009 08:14:42 GMT]]></title><description><![CDATA[<p>ingobulla schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>weiss jemand, ob es eine Moeglichkeit gibt, das Zusammensetzen eines Strings aus String-Literalen und arithmetischen Variablen kompakt zu realisieren? Also ungefaehr sowas:</p>
<pre><code class="language-cpp">int i = 0;
string s;
s = &quot;a&quot; + i + &quot;b&quot;;
</code></pre>
<p>Das geht so natuerlich nicht und ich mache es (nach meinem Ermessen recht umstaendlich) mit Stringstreams.</p>
</blockquote>
<p>Wieso soll das umständlich sein?</p>
<pre><code class="language-cpp">//geht nicht, nur Beispiel
int a = ...;
double b = ...;
std::string str;
str = &quot;a: &quot; + a + &quot;  b: &quot; + b;
std::cout &lt;&lt; str;
</code></pre>
<pre><code class="language-cpp">//mit stringstream
int a = ...;
double b = ...;
std::stringstream strstr;
strstr &lt;&lt; &quot;a: &quot; &lt;&lt; a &lt;&lt; &quot;  b: &quot; &lt;&lt; b;
std::cout &lt;&lt; strstr.str();
</code></pre>
<p>Gleiche Anzahl an Zeilen, ein paar mehr Zeichen. Wo ist das Problem?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1770723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770723</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 02 Sep 2009 08:14:42 GMT</pubDate></item><item><title><![CDATA[Reply to Strings zusammensetzen on Wed, 02 Sep 2009 08:28:06 GMT]]></title><description><![CDATA[<p>Es gibt so einige Alternativen zu der direkten Benutzung von stringstream.</p>
<p>Beispiel1:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;

/// anything to string
class a2str
{
  std::stringstream ss;
public:
  template&lt;typename T&gt;
  a2str&amp; operator&lt;&lt;(T const&amp; t) {ss &lt;&lt; t; return *this;}
  operator std::string() const {return ss.str();}
};

int main()
{
  std::string foo = a2str() &lt;&lt; &quot;foo &quot; &lt;&lt; 42 &lt;&lt; '/' &lt;&lt; 3.1415;
  std::cout &lt;&lt; foo &lt;&lt; '\n';
}
</code></pre>
<p>Beispiel2:<br />
siehe <a href="http://www.boost.org/doc/libs/1_40_0/libs/format/index.html" rel="nofollow">Boost.Format</a></p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1770729</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770729</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Wed, 02 Sep 2009 08:28:06 GMT</pubDate></item><item><title><![CDATA[Reply to Strings zusammensetzen on Wed, 02 Sep 2009 12:23:41 GMT]]></title><description><![CDATA[<p>KasF schrieb:</p>
<blockquote>
<p>um bequem mit dem operator+ strings zu verketten könntest du ihn einfach überladen <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>
</blockquote>
<p>Das geht nicht, solange nur Builtin-Typen unter den Operanden sind (und dazu gehören Stringliterale, also <code>char[]</code> ).</p>
<p>Ich würde auch nicht versuchen, sowas hinzubiegen, nur weil ich das aus anderen Sprachen gewohnt bin. Das ist meist eine schlechte Idee. Aber Sebastian Pizer hat ja eine schöne kompakte Möglichkeit gezeigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1770861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770861</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 02 Sep 2009 12:23:41 GMT</pubDate></item><item><title><![CDATA[Reply to Strings zusammensetzen on Wed, 02 Sep 2009 12:25:00 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>KasF schrieb:</p>
<blockquote>
<p>um bequem mit dem operator+ strings zu verketten könntest du ihn einfach überladen <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>
</blockquote>
<p>Das geht nicht, solange nur Builtin-Typen unter den Operanden sind (und dazu gehören Stringliterale, also <code>char[]</code> ).</p>
<p>Ich würde auch nicht versuchen, sowas hinzubiegen, nur weil ich das aus anderen Sprachen gewohnt bin. Das ist meist eine schlechte Idee. Aber Sebastian Pizer hat ja eine schöne kompakte Möglichkeit gezeigt.</p>
</blockquote>
<p>Wieso sollte das nicht gehen? Einer der Operanden wäre doch immer <code>std::string</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1770862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770862</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 02 Sep 2009 12:25:00 GMT</pubDate></item><item><title><![CDATA[Reply to Strings zusammensetzen on Wed, 02 Sep 2009 12:26:35 GMT]]></title><description><![CDATA[<p>Tachyon schrieb:</p>
<blockquote>
<p>Nexus schrieb:</p>
<blockquote>
<p>KasF schrieb:</p>
<blockquote>
<p>um bequem mit dem operator+ strings zu verketten könntest du ihn einfach überladen <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>
</blockquote>
<p>Das geht nicht, solange nur Builtin-Typen unter den Operanden sind (und dazu gehören Stringliterale, also <code>char[]</code> ).</p>
<p>Ich würde auch nicht versuchen, sowas hinzubiegen, nur weil ich das aus anderen Sprachen gewohnt bin. Das ist meist eine schlechte Idee. Aber Sebastian Pizer hat ja eine schöne kompakte Möglichkeit gezeigt.</p>
</blockquote>
<p>Wieso sollte das nicht gehen? Einer der Operanden wäre doch immer <code>std::string</code> .</p>
</blockquote>
<p>Schon, allerdings müsstest du, um den op+ immer zu finden, ihn im namespace std überladen (nicht machbar) oder im globalen namespace (unschön).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1770868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770868</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 02 Sep 2009 12:26:35 GMT</pubDate></item><item><title><![CDATA[Reply to Strings zusammensetzen on Wed, 02 Sep 2009 12:27:11 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Tachyon schrieb:</p>
<blockquote>
<p>Nexus schrieb:</p>
<blockquote>
<p>KasF schrieb:</p>
<blockquote>
<p>um bequem mit dem operator+ strings zu verketten könntest du ihn einfach überladen <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>
</blockquote>
<p>Das geht nicht, solange nur Builtin-Typen unter den Operanden sind (und dazu gehören Stringliterale, also <code>char[]</code> ).</p>
<p>Ich würde auch nicht versuchen, sowas hinzubiegen, nur weil ich das aus anderen Sprachen gewohnt bin. Das ist meist eine schlechte Idee. Aber Sebastian Pizer hat ja eine schöne kompakte Möglichkeit gezeigt.</p>
</blockquote>
<p>Wieso sollte das nicht gehen? Einer der Operanden wäre doch immer <code>std::string</code> .</p>
</blockquote>
<p>Schon, allerdings müsstest du, um den op+ immer zu finden, ihn im namespace std überladen (nicht machbar) oder im globalen namespace (unschön).</p>
</blockquote>
<p>Bäh. Das war ja auch nur hypothetisch. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1770870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770870</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 02 Sep 2009 12:27:11 GMT</pubDate></item><item><title><![CDATA[Reply to Strings zusammensetzen on Wed, 02 Sep 2009 12:32:21 GMT]]></title><description><![CDATA[<p>Tachyon schrieb:</p>
<blockquote>
<p>Wieso sollte das nicht gehen? Einer der Operanden wäre doch immer <code>std::string</code> .</p>
</blockquote>
<p>Ich meine sowas, also ähnlich wie z.B. in Java:</p>
<pre><code class="language-cpp">std::cout &lt;&lt; (&quot;hallo&quot; + 3) &lt;&lt; std::endl;
</code></pre>
<p>Das wirst du so oder so nicht hinkriegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1770872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1770872</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 02 Sep 2009 12:32:21 GMT</pubDate></item><item><title><![CDATA[Reply to Strings zusammensetzen on Thu, 03 Sep 2009 02:09:56 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>KasF schrieb:</p>
<blockquote>
<p>um bequem mit dem operator+ strings zu verketten könntest du ihn einfach überladen <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>
</blockquote>
<p>Das geht nicht, solange nur Builtin-Typen unter den Operanden sind (und dazu gehören Stringliterale, also <code>char[]</code> ).</p>
<p>Ich würde auch nicht versuchen, sowas hinzubiegen, nur weil ich das aus anderen Sprachen gewohnt bin. Das ist meist eine schlechte Idee. Aber Sebastian Pizer hat ja eine schöne kompakte Möglichkeit gezeigt.</p>
</blockquote>
<p>Ja stimmt, alles nicht ganz so schön. Das passiert wenn man mit C++ nicht mehr viel zu tun hat, die Erfahrung schwindet dahin <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/1771254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1771254</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 03 Sep 2009 02:09:56 GMT</pubDate></item></channel></rss>