<?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[Anfängerfrage: Werte zwischen Member Funktionen übergeben]]></title><description><![CDATA[<p>ich habe in einer funktion eine doppelte for-schleife in der ich werte auslese. diese werte möchte benötige ich ebenfalls in einer weiteren funktion möchte die daten aber nicht ein zweitesmal auslesen lassen!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/207649/anfängerfrage-werte-zwischen-member-funktionen-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 06:11:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/207649.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Mar 2008 11:49:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerfrage: Werte zwischen Member Funktionen übergeben on Mon, 10 Mar 2008 11:49:40 GMT]]></title><description><![CDATA[<p>ich habe in einer funktion eine doppelte for-schleife in der ich werte auslese. diese werte möchte benötige ich ebenfalls in einer weiteren funktion möchte die daten aber nicht ein zweitesmal auslesen lassen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471375</guid><dc:creator><![CDATA[DerBert]]></dc:creator><pubDate>Mon, 10 Mar 2008 11:49:40 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Werte zwischen Member Funktionen übergeben on Mon, 10 Mar 2008 11:51:10 GMT]]></title><description><![CDATA[<p>ein bisschen präziser müsstest du es uns schon erklären und/oder ein bisschen code zeigen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471376</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Mon, 10 Mar 2008 11:51:10 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Werte zwischen Member Funktionen übergeben on Mon, 10 Mar 2008 12:02:56 GMT]]></title><description><![CDATA[<pre><code>void MyMemFunc::read(data* readdata)
{
....
...
	for(int i = 0; i &lt; readdata&gt;x ; i++)
	{
		for(int j = 0; j &lt; readdata-&gt;y; j++)
		{
		value = ((unsigned short) readdata&gt;box[(j)]);
...
..
}
}
</code></pre>
<p>ich benötige jeden wert von value in einer anderen funktion.<br />
soll ich value in einem weiteren array ablegen oder nochmals auf das array zugreifen?<br />
die funktion in der die value werte ein weiteresmal gebraucht werden ist eine funktion die ausserdem opengl befehle beinhalten soll die in der glut paint func aufgerufen werden sollen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471381</guid><dc:creator><![CDATA[DerBert]]></dc:creator><pubDate>Mon, 10 Mar 2008 12:02:56 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Werte zwischen Member Funktionen übergeben on Mon, 10 Mar 2008 12:05:01 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Warum übergibst du value nicht einfach?</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1471383</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471383</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 10 Mar 2008 12:05:01 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Werte zwischen Member Funktionen übergeben on Mon, 10 Mar 2008 12:29:48 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">//fkt:
std::vector &lt;unsigned short&gt; MyMemFunc::read(data* readdata)
{
    std::vector &lt;unsigned short&gt; R; //#include &lt;vector&gt;
    for(size_t i (0); i &lt; readdata-&gt;x ; ++i)
    {
        for(size_t j (0); j &lt; readdata-&gt;y; ++j)
        {
        R.push_back (reinterpret_cast &lt;unsigned short&gt; (readdata-&gt;box[j]));
        }
    }
    return R;
}

//main:
int main (/*blubb*/)
{
/*
data* readdata;
MyMemFunc MemFuncClass;
*/
std::vector &lt;unsigned short&gt; Values (MemFuncClass-&gt;read(readdata));
MemFuncClass-&gt;NextFkt (Values);
/*
...
*/
}
</code></pre>
<p>edits: alternativ könntest du auch nur die referenz auf den vector übergeben - aber da müsstest du dich dann jedes ma um das delete kümmern...<br />
also so was:</p>
<pre><code class="language-cpp">std::vector &lt;unsigned short&gt;&amp; MyMemFunc::read(data* readdata)
// std::vector &lt;...&gt; *R = new std::vector &lt;....&gt;;
// return *R;
</code></pre>
<pre><code class="language-cpp">int main (/*bla*/)
{
/*...*/
std::vector &lt;unsigned short&gt; Values (MemFuncClass-&gt;read(readdata));
MemFuncClass-&gt;NextFkt (Values);
//MyMemFunc::NextFkt (std::vector &lt;...&gt; &amp;Values); //evtl noch nen const davor - musst du wissen ^^
delete &amp;Values;
/*...*/
}
</code></pre>
<p>noch ein letztes edit:<br />
weiß ja nicht, warum du 2 for schleifen hast (weil ich das i nirgendwo seh ^^), aber du könntest dir auch überlegen, nen 3d-array zu machen...</p>
<p>also:</p>
<pre><code class="language-cpp">typedef std::vector &lt;unsigned short&gt; row;
typedef std::vector &lt;row&gt; myshortarray;

//fkt:
myshortarray MyMemFunc::read(data* readdata)
{
    myshortarray RETURN;
    for(size_t i (0); i &lt; readdata-&gt;x ; ++i)
    {
        row ROW;
        for(size_t j (0); j &lt; readdata-&gt;y; ++j)
        {
        ROW.push_back (reinterpret_cast &lt;unsigned short&gt; (readdata-&gt;box[j]));
        }
        RETURN.push_back (ROW);
    }
    return RETURN;
}
</code></pre>
<p>da haste dann so nen array:</p>
<pre><code>0   1   2   3   ...   j
0
1
2
...
i
</code></pre>
<p>das array kannste dann entweder mit iteratoren durchgehen oder so, wie du das gewöhnt bist mit [...] dahinter... wobei iteratoren eleganter und sicherer sind...</p>
<p>würde so gehen:</p>
<pre><code class="language-cpp">std::vector &lt;size_t&gt; a;
for (size_t i (0); i &lt; 10; ++i)
   a.push_back (i);
const std::vector &lt;size_t&gt;::const_iterator ende (a.end ());
for (std::vector &lt;size_t&gt;::const_iterator i (a.begin ()); i != ende; ++i) //hier auf jeden fall ++i anstatt i++ nehmen...
{
std::cout &lt;&lt; i &lt;&lt; std::endl;
}
</code></pre>
<p>bei so was mach ich mir aber meist noch typedefs von const_iterator, weil das sonst immer so ewig lange zeilen sind ^^<br />
und wenn du den Inhalt des Arrays verändern willst:</p>
<pre><code class="language-cpp">for (std::vector &lt;size_t&gt;::iterator i (a.begin ()); i != ende; ++i) //OHNE const halt...
{
i *= 123456;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1471386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1471386</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Mon, 10 Mar 2008 12:29:48 GMT</pubDate></item></channel></rss>