<?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[Zeiger und Funktionen]]></title><description><![CDATA[<p>Hallo!<br />
Ich bin gerade dabei, mich in Zeigern einzuüben.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 
using namespace std;

int rechne(int * a, int * b)
{
	int x = *a;
	int y = *b;
	int ergebnis = x+y;
	return ergebnis;
}

void main()
{
	int a = 1;
	int b = 1;
	cout &lt;&lt; rechne(&amp;a,&amp;b);
}
</code></pre>
<p>Muss man es eigentlich so umständlich machen? Man kann ja keine Zeiger addieren.</p>
<p>Und noch etwas: Wann lohnt es sich, Zeiger zu verwenden?<br />
Angeblich ist es ja schneller, wenn man die Adresse einer Variablen übergibt, und die Funktion nicht selber neue Objekte bilden muss.</p>
<p>Aber wie sieht es in der Anwendung aus? Wann sollte man Zeiger wirklich verwenden?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/138292/zeiger-und-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 03:53:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/138292.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 25 Feb 2006 01:10:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger und Funktionen on Sat, 25 Feb 2006 01:10:08 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich bin gerade dabei, mich in Zeigern einzuüben.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 
using namespace std;

int rechne(int * a, int * b)
{
	int x = *a;
	int y = *b;
	int ergebnis = x+y;
	return ergebnis;
}

void main()
{
	int a = 1;
	int b = 1;
	cout &lt;&lt; rechne(&amp;a,&amp;b);
}
</code></pre>
<p>Muss man es eigentlich so umständlich machen? Man kann ja keine Zeiger addieren.</p>
<p>Und noch etwas: Wann lohnt es sich, Zeiger zu verwenden?<br />
Angeblich ist es ja schneller, wenn man die Adresse einer Variablen übergibt, und die Funktion nicht selber neue Objekte bilden muss.</p>
<p>Aber wie sieht es in der Anwendung aus? Wann sollte man Zeiger wirklich verwenden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1002353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1002353</guid><dc:creator><![CDATA[ceplusplus]]></dc:creator><pubDate>Sat, 25 Feb 2006 01:10:08 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Funktionen on Sat, 25 Feb 2006 01:27:00 GMT]]></title><description><![CDATA[<blockquote>
<p>Muss man es eigentlich so umständlich machen? Man kann ja keine Zeiger addieren.</p>
</blockquote>
<p>geht auch direkter.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 
using namespace std;

int rechne(int * a, int * b)
{
	return *a + *b;
}

void main()
{
	int a = 1;
	int b = 1;
	cout &lt;&lt; rechne(&amp;a,&amp;b);
}
</code></pre>
<p>oder gar mit referenzen</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 
using namespace std;

int rechne(int &amp; a, int &amp; b)
{
	return a + b;
}

void main()
{
	int a = 1;
	int b = 1;
	cout &lt;&lt; rechne(&amp;a,&amp;b);
}
</code></pre>
<p>referenzen haben const sehr gerne.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 
using namespace std;

int rechne(int const &amp; a, int const &amp; b)
{
	return a + b;
}

void main()
{
	int a = 1;
	int b = 1;
	cout &lt;&lt; rechne(&amp;a,&amp;b);
}
</code></pre>
<blockquote>
<p>Und noch etwas: Wann lohnt es sich, Zeiger zu verwenden?<br />
Angeblich ist es ja schneller, wenn man die Adresse einer Variablen übergibt, und die Funktion nicht selber neue Objekte bilden muss.</p>
</blockquote>
<p>wenn die objekte groß sind. so ein int ist schneller ohne zeiger übergeben. sizeof(int)==4 und sizeof(int*)==4 (bei mir). haste sizeof(Person)==240 und sizeof(Person*)==4, ist es viel schneller, ne Person als zeiger oder referenz zu übergenen. ich mag es am liebsten, rewferenzen zu nehmen, wenn sie auch const sein können und zeiger, wenn const nicht geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1002355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1002355</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 25 Feb 2006 01:27:00 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Funktionen on Sat, 25 Feb 2006 01:27:38 GMT]]></title><description><![CDATA[<p>ceplusplus schrieb:</p>
<blockquote>
<p>Hallo!<br />
Ich bin gerade dabei, mich in Zeigern einzuüben.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 
using namespace std;

int rechne(int * a, int * b)
{
	int x = *a;
	int y = *b;
	int ergebnis = x+y;
	return ergebnis;
}

void main()
{
	int a = 1;
	int b = 1;
	cout &lt;&lt; rechne(&amp;a,&amp;b);
}
</code></pre>
<p>Muss man es eigentlich so umständlich machen?</p>
</blockquote>
<p>Nö. Für diese (sinnlose) Funktion sind Zeiger total ungeeignet. Wenn, dann würde man es so machen:</p>
<pre><code class="language-cpp">int rechne(int a, int b) {
return a+b;
}
</code></pre>
<blockquote>
<p>Wann sollte man Zeiger wirklich verwenden?</p>
</blockquote>
<p>Immer dann, wenn man sie braucht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1002356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1002356</guid><dc:creator><![CDATA[interpreter]]></dc:creator><pubDate>Sat, 25 Feb 2006 01:27:38 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Funktionen on Sat, 25 Feb 2006 02:11:18 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt; 
using namespace std; 

int rechne(int &amp; a, int &amp; b) 
{ 
    return a + b; 
} 

void main() 
{ 
    int a = 1; 
    int b = 1; 
    cout &lt;&lt; rechne(&amp;a,&amp;b); 
}
</code></pre>
<p>...ist aber gar nicht lieb:</p>
<pre><code>--------------------Konfiguration: Übung1 - Win32 Debug--------------------
Kompilierung läuft...
main.cpp
D:\C++\VC6\Übungen\Übung1\main.cpp(13) : error C2664: 'rechne' : Konvertierung des Parameters 1 von 'int *' in 'const int &amp;' nicht moeglich
        Ursache: Konvertierung von 'int *' in 'const int' nicht moeglich
        Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
Fehler beim Ausführen von cl.exe.

Übung1.exe - 1 Fehler, 0 Warnung(en)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1002362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1002362</guid><dc:creator><![CDATA[ceplusplus]]></dc:creator><pubDate>Sat, 25 Feb 2006 02:11:18 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Funktionen on Sat, 25 Feb 2006 02:13:02 GMT]]></title><description><![CDATA[<p>Du übergibst die Werte falsch. &amp;a ist vom Typ int* - die Funktion erwartet aber einen int. Es muss also heißen:<br />
rechne(a,b);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1002363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1002363</guid><dc:creator><![CDATA[interpreter]]></dc:creator><pubDate>Sat, 25 Feb 2006 02:13:02 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger und Funktionen on Sat, 25 Feb 2006 02:19:33 GMT]]></title><description><![CDATA[<p>Ok, es war dein Code .. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>EDIT: Oh es war Volkard's Code sorry...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1002365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1002365</guid><dc:creator><![CDATA[ceplusplus]]></dc:creator><pubDate>Sat, 25 Feb 2006 02:19:33 GMT</pubDate></item></channel></rss>