<?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[[solved] generischer datentyp als rückgabewert von operator[] -&amp;gt; syntax?]]></title><description><![CDATA[<p>hallo!</p>
<p>hab grad vor kurzem gesehen wie man 'nen generischen datentypen von 'ner templatefunktion zurückgibt:</p>
<pre><code>template&lt;class T&gt; T myFunc(std::string&amp; parameter)
{
	T t;

	// ...

	return t;
}

double bar = myFunc&lt;double&gt;( &quot;3.14&quot; );
</code></pre>
<p>in anlehnung darauf jetzt meine frage: wie schreib ich sowas wenn sichs bei der funktion um 'nen überladenen []-operator handelt? also:</p>
<pre><code>template &lt;class T&gt;
T ConfigReader::operator[]( std::string key )
{
	T t;

	//...

	return t;
}
</code></pre>
<p>kann mir diese beiden schreibweisen vorstellen:</p>
<pre><code>int myInt = reader[&quot;someSetting&quot;]&lt;int&gt;;
int myInt = reader&lt;int&gt;[&quot;someSetting&quot;];
</code></pre>
<p>hab beide versucht, funzen net... mir is das template-zeugs syntaktisch ohnehin net so geläufig. kann mir dabei wer helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/197627/solved-generischer-datentyp-als-rückgabewert-von-operator-gt-syntax</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 12:55:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/197627.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Nov 2007 22:07:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [solved] generischer datentyp als rückgabewert von operator[] -&amp;gt; syntax? on Thu, 20 Mar 2008 09:27:01 GMT]]></title><description><![CDATA[<p>hallo!</p>
<p>hab grad vor kurzem gesehen wie man 'nen generischen datentypen von 'ner templatefunktion zurückgibt:</p>
<pre><code>template&lt;class T&gt; T myFunc(std::string&amp; parameter)
{
	T t;

	// ...

	return t;
}

double bar = myFunc&lt;double&gt;( &quot;3.14&quot; );
</code></pre>
<p>in anlehnung darauf jetzt meine frage: wie schreib ich sowas wenn sichs bei der funktion um 'nen überladenen []-operator handelt? also:</p>
<pre><code>template &lt;class T&gt;
T ConfigReader::operator[]( std::string key )
{
	T t;

	//...

	return t;
}
</code></pre>
<p>kann mir diese beiden schreibweisen vorstellen:</p>
<pre><code>int myInt = reader[&quot;someSetting&quot;]&lt;int&gt;;
int myInt = reader&lt;int&gt;[&quot;someSetting&quot;];
</code></pre>
<p>hab beide versucht, funzen net... mir is das template-zeugs syntaktisch ohnehin net so geläufig. kann mir dabei wer helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1402151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1402151</guid><dc:creator><![CDATA[iko79]]></dc:creator><pubDate>Thu, 20 Mar 2008 09:27:01 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] generischer datentyp als rückgabewert von operator[] -&amp;gt; syntax? on Mon, 12 Nov 2007 22:57:25 GMT]]></title><description><![CDATA[<p>iko79 schrieb:</p>
<blockquote>
<p>wie schreib ich sowas wenn sichs bei der funktion um 'nen überladenen []-operator handelt?</p>
</blockquote>
<p>das wird kryptisch ...</p>
<pre><code class="language-cpp">ConfigReader reader;
    // ...
    int myInt = reader.operator[]&lt; int &gt;( &quot;someSetting&quot; );
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1402171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1402171</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 12 Nov 2007 22:57:25 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] generischer datentyp als rückgabewert von operator[] -&amp;gt; syntax? on Mon, 12 Nov 2007 23:04:25 GMT]]></title><description><![CDATA[<p>*argl* das führt den indexer ad absurdum <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>
<p>DANKE!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1402174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1402174</guid><dc:creator><![CDATA[iko79]]></dc:creator><pubDate>Mon, 12 Nov 2007 23:04:25 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] generischer datentyp als rückgabewert von operator[] -&amp;gt; syntax? on Mon, 12 Nov 2007 23:07:41 GMT]]></title><description><![CDATA[<p>Der Index-Operator kann nur als Memberfunktion einer Klasse definiert werden. Der Typ wird also bereits durch das Objekt bestimmt, auf welches der Index-Operator angewendet wird.</p>
<p>Z.B. (nur schnell hingeschmiert <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>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

template&lt;class T&gt;
class A {
public:
		T&amp; operator[](int);
		T m_Array[100];
};

template&lt;class T&gt;
T&amp;
A&lt;T&gt;::operator [](int i) {
	return m_Array[i];
}

int main()
{
	A&lt;int&gt; x;

	for (int i=0; i&lt;100; ++i)
		x[i] = i;

	for (int i=0; i&lt;100; ++i)
		cout &lt;&lt; i &lt;&lt; &quot;|&quot; ;

	cout &lt;&lt; endl;

return 0;
}
</code></pre>
<p>Beim Index-Operator auch darauf achten, dass die Rückgabe ein L-Wert sein könnte. Es muss daher eine Referenz zurückgegeben werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1402175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1402175</guid><dc:creator><![CDATA[vic1986]]></dc:creator><pubDate>Mon, 12 Nov 2007 23:07:41 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] generischer datentyp als rückgabewert von operator[] -&amp;gt; syntax? on Tue, 13 Nov 2007 00:00:59 GMT]]></title><description><![CDATA[<p>die klasse ist NICHT generisch. nur die eine methode. also der indexer-operator. d.h. i muss den typen explizit angeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1402187</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1402187</guid><dc:creator><![CDATA[iko79]]></dc:creator><pubDate>Tue, 13 Nov 2007 00:00:59 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] generischer datentyp als rückgabewert von operator[] -&amp;gt; syntax? on Tue, 13 Nov 2007 02:45:50 GMT]]></title><description><![CDATA[<p>Ups! Ja, da war ich nicht aufmerksam. Man kann es deutlich an deinem Code erkennen. <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>
<p>Darf man schüchtern nachfragen, was die Absicht hinter dieser Variante des Index-Operators ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1402196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1402196</guid><dc:creator><![CDATA[vic1986]]></dc:creator><pubDate>Tue, 13 Nov 2007 02:45:50 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] generischer datentyp als rückgabewert von operator[] -&amp;gt; syntax? on Tue, 13 Nov 2007 13:42:03 GMT]]></title><description><![CDATA[<p>Hmm ganz einfach ... die Absicht ist klar, doch nicht sonderlich sinnig <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /> Eine einfache Funktion tut es da auch!<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16133">@vic1986</a>: Stell dir mal bsw. vor, du hast eine Klasse, die dir eine *.ini-Datei behandelt. So, dann sollen jetzt die einzelnen Werte ausgelesen werden ... auch kein Problem ... nur sollen die direkt als ein spezieller Typ zurück gegeben werden ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1402493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1402493</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 13 Nov 2007 13:42:03 GMT</pubDate></item></channel></rss>