<?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[Smartpointerwahl]]></title><description><![CDATA[<p>Ich möchte eine Templatefunktion schreiben, die einen Zeichenkettenliteral (const char*) in Array vom Typ X (Templateparameter) kopiert und einen Zeiger auf dieses Array zurück gibt. Im Normalfall wird das Funktionsergebnis keiner Variablen zugewiesen, sondern z.B. nur für die Ausgabe dem &lt;&lt; Operator übergeben. Daher sollte der Speicher nur für das aktuelle Scope belegt sein und danach wieder freigegeben werden. Gibt es für diesen Zweck schon eine geeignet Smartpointerklasse?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/269307/smartpointerwahl</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 07:56:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/269307.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 Jun 2010 02:08:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Smartpointerwahl on Wed, 23 Jun 2010 02:08:11 GMT]]></title><description><![CDATA[<p>Ich möchte eine Templatefunktion schreiben, die einen Zeichenkettenliteral (const char*) in Array vom Typ X (Templateparameter) kopiert und einen Zeiger auf dieses Array zurück gibt. Im Normalfall wird das Funktionsergebnis keiner Variablen zugewiesen, sondern z.B. nur für die Ausgabe dem &lt;&lt; Operator übergeben. Daher sollte der Speicher nur für das aktuelle Scope belegt sein und danach wieder freigegeben werden. Gibt es für diesen Zweck schon eine geeignet Smartpointerklasse?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916053</guid><dc:creator><![CDATA[pointer2]]></dc:creator><pubDate>Wed, 23 Jun 2010 02:08:11 GMT</pubDate></item><item><title><![CDATA[Reply to Smartpointerwahl on Wed, 23 Jun 2010 02:31:18 GMT]]></title><description><![CDATA[<p>boost::shared_array.<br />
Deine Idee kommt mir aber sehr fragwürdig vor. Wozu soll es gut sein, ein Stringliteral in ein Array eines <em>anderen Typs</em> zu kopieren, noch dazu nur zum Ausgeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916055</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Wed, 23 Jun 2010 02:31:18 GMT</pubDate></item><item><title><![CDATA[Reply to Smartpointerwahl on Wed, 23 Jun 2010 07:34:03 GMT]]></title><description><![CDATA[<p>In einem Ausgabeoperator möchte ich zusätzlich Zeichen zur Strukturierung ausgeben. Die Funktion soll den richtigen Stringliteraltyp erzeugen. Oder gibts da schon was fertiges?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916098</guid><dc:creator><![CDATA[pointer2]]></dc:creator><pubDate>Wed, 23 Jun 2010 07:34:03 GMT</pubDate></item><item><title><![CDATA[Reply to Smartpointerwahl on Wed, 23 Jun 2010 07:38:26 GMT]]></title><description><![CDATA[<p>Smartpointer, Schmarnpointer...</p>
<p>Kapsel das &quot;Array&quot; einfach...</p>
<pre><code class="language-cpp">template&lt;class X&gt;
struct identity : std::unary_function&lt;X,X&gt;
{
  X operator()(X const&amp; x) const {return x;}
};

template&lt;class X&gt;
class wtf
{
  std::vector&lt;X&gt; vec;

  template&lt;class F&gt;
  void init(F f, const char* p);
  {
    while (*p) {
      vec.push_back(f(*p++));
    }
  }

public:
  explicit wtf(const char* p) {init(identity&lt;char&gt;(),p);}

  template&lt;class F&gt;
  wtf(const char* p, F f) {init(f,p);}

  friend std::ostream&amp; operator&lt;&lt;(std::ostream&amp; os, wtf const&amp; w)
  {
    ...ausgabe...
  }
};

...

int main() {
  wtf&lt;int&gt;(&quot;what the f*ck?&quot;);
}
</code></pre>
<p>(ungetestet)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916100</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 23 Jun 2010 07:38:26 GMT</pubDate></item><item><title><![CDATA[Reply to Smartpointerwahl on Wed, 23 Jun 2010 08:52:38 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>Kapsel das &quot;Array&quot; einfach...</p>
</blockquote>
<p>Und warum dann nicht gleich std::tr1::array?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916140</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 23 Jun 2010 08:52:38 GMT</pubDate></item></channel></rss>