<?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[Vector&amp;lt;T&amp;gt; in header?]]></title><description><![CDATA[<p>Hallo,<br />
gibt es einen Weg in einer Header Datei einen Vector zu definieren, ohne dass deren generischer Typ zu der Zeit bekannt ist? Beispiel:</p>
<pre><code class="language-cpp">//include...
class Foo{

  vector&lt;T&gt; test;
};
</code></pre>
<p>So dass ich erst wenn ich irgendwann test initialisie den Typ von T bestimme? Oder geht dies nur, in dem ich alles von vector in eine template&lt;class T&gt; klebe und quasi alle Methode von vector in einer Pseudoklasse wrappe?<br />
Im obrigen beispiel soll Foo selbst kein template sein, es ist eine Klasse die standard-operationen wahrnimmt, nur arbeitet diese halt auf einem vector&lt;T&gt; bei der sich T mit jeder neu initialiserung ändern könnte, also mal string, mal int, mal sonst was</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195280/vector-lt-t-gt-in-header</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 21:55:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195280.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Oct 2007 09:18:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vector&amp;lt;T&amp;gt; in header? on Tue, 16 Oct 2007 09:18:30 GMT]]></title><description><![CDATA[<p>Hallo,<br />
gibt es einen Weg in einer Header Datei einen Vector zu definieren, ohne dass deren generischer Typ zu der Zeit bekannt ist? Beispiel:</p>
<pre><code class="language-cpp">//include...
class Foo{

  vector&lt;T&gt; test;
};
</code></pre>
<p>So dass ich erst wenn ich irgendwann test initialisie den Typ von T bestimme? Oder geht dies nur, in dem ich alles von vector in eine template&lt;class T&gt; klebe und quasi alle Methode von vector in einer Pseudoklasse wrappe?<br />
Im obrigen beispiel soll Foo selbst kein template sein, es ist eine Klasse die standard-operationen wahrnimmt, nur arbeitet diese halt auf einem vector&lt;T&gt; bei der sich T mit jeder neu initialiserung ändern könnte, also mal string, mal int, mal sonst was</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386161</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386161</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Tue, 16 Oct 2007 09:18:30 GMT</pubDate></item><item><title><![CDATA[Reply to Vector&amp;lt;T&amp;gt; in header? on Tue, 16 Oct 2007 09:21:25 GMT]]></title><description><![CDATA[<p>vll. so:</p>
<pre><code class="language-cpp">template&lt;class T&gt;
class Foo{ 

  vector&lt;T&gt; test; 
};
</code></pre>
<p>nachher im programm</p>
<pre><code class="language-cpp">Foo&lt;TYP&gt; o:

o.test.pushback(TYP(..));
</code></pre>
<p>hab dass noch nie gemacht, kann auch sein das es nich klappt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386163</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 16 Oct 2007 09:21:25 GMT</pubDate></item><item><title><![CDATA[Reply to Vector&amp;lt;T&amp;gt; in header? on Tue, 16 Oct 2007 09:21:31 GMT]]></title><description><![CDATA[<p>Da wird dir kaum etwas anderes übrig bleiben, als die Klasse als Template zu deklarieren.. Ich weiß auch nicht, wie du dir das vorstellst, dass T mal so mal so ist <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="😉"
    /> Und was meinst du mit &quot;jeder Initialisierung&quot;? Meinst du damit, bei jeder Instanz-Deklaration? Dann ist ein template doch perfekt..? Oder was spricht dagegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386164</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Tue, 16 Oct 2007 09:21:31 GMT</pubDate></item><item><title><![CDATA[Reply to Vector&amp;lt;T&amp;gt; in header? on Tue, 16 Oct 2007 09:21:46 GMT]]></title><description><![CDATA[<p>Nein, das geht nicht - bei einem Template muß bereits zu Compilezeit feststehen, wie die verwendeten Template-Parameter belegt werden.</p>
<p>(Randfrage: Was soll überhaupt der Sinn hinter dem Ganzen sein?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386165</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386165</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 16 Oct 2007 09:21:46 GMT</pubDate></item><item><title><![CDATA[Reply to Vector&amp;lt;T&amp;gt; in header? on Tue, 16 Oct 2007 09:23:23 GMT]]></title><description><![CDATA[<p>In dem Fall duerfte Foo dann doch besser ein Kassentemplate sein. Denn irgendwo wirst du ja auch mit den Daten aus dem vector arbeiten muessen (es sei denn du willst ihn nur resizen etc.) und daher auch in den Methoden von Foo mit den T's arbeiten. Also =&gt;</p>
<pre><code class="language-cpp">template &lt;class T&gt;
class Foo {
/* ... */

private:
  vector&lt;T&gt; test;
/* ... */

};
</code></pre>
<p>Und - nein, du kannst keinen generischen Typ in einem nicht-Template benutzen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386167</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 16 Oct 2007 09:23:23 GMT</pubDate></item><item><title><![CDATA[Reply to Vector&amp;lt;T&amp;gt; in header? on Tue, 16 Oct 2007 10:22:08 GMT]]></title><description><![CDATA[<p>Der Sinn ist, dass ich einen Rückgabe Typ brauche, dies wäre dann meine Klasse, die besteht aus mehreren einzelnen Typen, wie String, Int usw + einen Typen vector&lt;T&gt;, abhängig davon an wen ich diesen Rückgabetypen sende soll der vector&lt;T&gt; anders behandelt werden.</p>
<p>Also wenn Methode A den Rückgabetypen übergeben bekommt, so ist für Methode A klar, dass dies ein vector&lt;int&gt; ist, sonst hätte diese Methode den Rückgabetypen nicht bekommen, Methode B erwartet jedoch den Rückgabetypen so, dass vector&lt;string&gt; ist. Dabei ist halt nur der eine vector generisch, heißt dass, wenn ein Teil generisch ist, muss die Klasse auch generisch sein?</p>
<p>Edit: Habs verstanden, anscheinend meinte ich den Code von pumuckl, nun ist es klarer.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386221</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Tue, 16 Oct 2007 10:22:08 GMT</pubDate></item><item><title><![CDATA[Reply to Vector&amp;lt;T&amp;gt; in header? on Tue, 16 Oct 2007 11:05:41 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;typename T&gt;
vector&lt;T&gt; meineMethode(T);
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1386261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1386261</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Tue, 16 Oct 2007 11:05:41 GMT</pubDate></item></channel></rss>