<?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[Allgemeine Frage zur Verwendung von Zeigern]]></title><description><![CDATA[<p>Hallo,</p>
<p>immer wieder die &quot;Zeiger&quot;. Sind die folgenden 2 Aufrufe (foo1 und foo2) für char* und String korrekt ? Oder muss ich in der aufrufenden Funktion die Größe von char und String bekannt geben ? Funktionieren tut es erstmal so, aber ich weis nicht ob die Felder auch evtl. überschrieben werden können beim Programmlauf.</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
 String sText;
 char *Text;

 foo1( &amp;Text );
 sText = Text;
 ListBox1-&gt;Items-&gt;Add( sText );
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
 String sText;

 foo2( &amp;sText );
 ListBox1-&gt;Items-&gt;Add( sText );
}
//---------------------------------------------------------------------------

void __fastcall TForm1::foo1( char **string )
{
 char *test = &quot;Das ist ein Beispiel-Text&quot;;

 *string = test;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::foo2( String *string )
{
 String temp = &quot;Das ist ein weiterer Beispiel-Text&quot;;

 *string = temp;
}
//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/306075/allgemeine-frage-zur-verwendung-von-zeigern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 08 Aug 2026 11:12:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/306075.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 Jul 2012 10:30:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Allgemeine Frage zur Verwendung von Zeigern on Tue, 17 Jul 2012 10:30:11 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>immer wieder die &quot;Zeiger&quot;. Sind die folgenden 2 Aufrufe (foo1 und foo2) für char* und String korrekt ? Oder muss ich in der aufrufenden Funktion die Größe von char und String bekannt geben ? Funktionieren tut es erstmal so, aber ich weis nicht ob die Felder auch evtl. überschrieben werden können beim Programmlauf.</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button1Click(TObject *Sender)
{
 String sText;
 char *Text;

 foo1( &amp;Text );
 sText = Text;
 ListBox1-&gt;Items-&gt;Add( sText );
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
 String sText;

 foo2( &amp;sText );
 ListBox1-&gt;Items-&gt;Add( sText );
}
//---------------------------------------------------------------------------

void __fastcall TForm1::foo1( char **string )
{
 char *test = &quot;Das ist ein Beispiel-Text&quot;;

 *string = test;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::foo2( String *string )
{
 String temp = &quot;Das ist ein weiterer Beispiel-Text&quot;;

 *string = temp;
}
//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2233423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2233423</guid><dc:creator><![CDATA[Ronco11]]></dc:creator><pubDate>Tue, 17 Jul 2012 10:30:11 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Frage zur Verwendung von Zeigern on Tue, 17 Jul 2012 10:46:08 GMT]]></title><description><![CDATA[<p>Korrekt ist das erstmal (es sei denn es gibt in <code>String</code> irgendwelche unangenehmen Überraschungen). Aber es ist weder C und gehört damit entschieden nicht hierher, noch ist es gut.</p>
<p>Und was ist deine im Titel angekündigte <em>allgemeine</em> Frage?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2233427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2233427</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 17 Jul 2012 10:46:08 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Frage zur Verwendung von Zeigern on Tue, 17 Jul 2012 11:02:31 GMT]]></title><description><![CDATA[<p>Hallo Bashar,</p>
<p>das war meine allgemeine Frage, ob ich das so verwenden kann. Was ist da nicht gut dran ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2233436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2233436</guid><dc:creator><![CDATA[Ronco11]]></dc:creator><pubDate>Tue, 17 Jul 2012 11:02:31 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Frage zur Verwendung von Zeigern on Tue, 17 Jul 2012 11:08:03 GMT]]></title><description><![CDATA[<p>Wenn das eine allgemeine Frage war, was ist dann für dich eine spezielle Frage? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2233438</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2233438</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 17 Jul 2012 11:08:03 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Frage zur Verwendung von Zeigern on Tue, 17 Jul 2012 11:15:30 GMT]]></title><description><![CDATA[<p>Hm, naja das ist weil ich bisher mit Zeigern nicht viel zu tun hatte. Aber es wäre nett von dir mir zu sagen was daran nicht gut ist <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2233441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2233441</guid><dc:creator><![CDATA[Ronco11]]></dc:creator><pubDate>Tue, 17 Jul 2012 11:15:30 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Frage zur Verwendung von Zeigern on Wed, 18 Jul 2012 09:39:01 GMT]]></title><description><![CDATA[<p>Das wird jetzt eine längere Liste ...</p>
<ul>
<li>const, schonmal gehört? Du weist deinem char-Zeiger ein (als solches grundsätzlich unveränderliches) String-Literal zu, dann sollte der auch ein Zeiger auf const sein.</li>
<li>Referenzen sind eine feine Sache</li>
<li>Warum überhaupt Call-by-reference, benutze doch Rückgabewerte</li>
<li>Mach lieber deine ersten Schritte in normalem C++ und nicht mit dem C++-Builder ... oder kannst du mir exakt erklären, wozu du __fastcall brauchst? (&quot;Das ist schneller&quot; gilt nicht)</li>
<li>Du definierst deine Variablen am Anfang und weist ihnen dann irgendwas zu anstatt sie erst dann zu definieren (und zu konstruieren), wenn du sie brauchst.</li>
<li>irgendwas entscheidendes hab ich sicher noch vergessen ...</li>
<li>.oO(Schlafen die Moderatoren eigentlich?)</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/2233690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2233690</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 18 Jul 2012 09:39:01 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Frage zur Verwendung von Zeigern on Wed, 18 Jul 2012 10:45:36 GMT]]></title><description><![CDATA[<p>Ronco11 schrieb:</p>
<blockquote>
<p>weis nicht ob die Felder auch evtl. überschrieben werden können beim Programmlauf.</p>
</blockquote>
<p>ja, sie können überschrieben werden. fragt sich evtl ob man das möchte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2233698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2233698</guid><dc:creator><![CDATA[b.b.]]></dc:creator><pubDate>Wed, 18 Jul 2012 10:45:36 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Frage zur Verwendung von Zeigern on Wed, 18 Jul 2012 10:55:32 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>.oO(Schlafen die Moderatoren eigentlich?)</p>
</blockquote>
<p>Gähn! Was?<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2233701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2233701</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 18 Jul 2012 10:55:32 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Frage zur Verwendung von Zeigern on Wed, 18 Jul 2012 10:55:45 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/u109509" rel="nofollow">SeppJ</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/f10" rel="nofollow">C (C89 und C99)</a> in das Forum <a href="http://www.c-plusplus.net/forum/f15" rel="nofollow">C++ (auch C++0x und C++11)</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2233702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2233702</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Wed, 18 Jul 2012 10:55:45 GMT</pubDate></item><item><title><![CDATA[Reply to Allgemeine Frage zur Verwendung von Zeigern on Wed, 18 Jul 2012 13:43:27 GMT]]></title><description><![CDATA[<p>Hallo Bashar,</p>
<p>erstmal danke für die Hinweise ...</p>
<p>Bashar schrieb:</p>
<blockquote>
<p>Das wird jetzt eine längere Liste ...</p>
<p>[*]const, schonmal gehört? Du weist deinem char-Zeiger ein (als solches grundsätzlich unveränderliches) String-Literal zu, dann sollte der auch ein Zeiger auf const sein.</p>
</blockquote>
<p>Das war nur ein Beispiel. Wenn der char String aber je nach Aufruf unterschiedlich ist, dann ist doch const fehl am Platz, oder ?</p>
<blockquote>
<p>[*]Referenzen sind eine feine Sache</p>
</blockquote>
<p>Wenn man sie verwenden kann bestimmt.</p>
<blockquote>
<p>[*]Warum überhaupt Call-by-reference, benutze doch Rückgabewerte</p>
</blockquote>
<p>Aber ist das nicht der Vorteil (Geschwindigkeit) gegenüber auf dem Stack auslagern ?</p>
<blockquote>
<p>[*]Mach lieber deine ersten Schritte in normalem C++ und nicht mit dem C++-Builder ... oder kannst du mir exakt erklären, wozu du __fastcall brauchst? (&quot;Das ist schneller&quot; gilt nicht)</p>
</blockquote>
<p>OK, das hab ich erstmal nur so übernommen. Hat aber auch nicht geschadet <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>
<blockquote>
<p>[*]Du definierst deine Variablen am Anfang und weist ihnen dann irgendwas zu anstatt sie erst dann zu definieren (und zu konstruieren), wenn du sie brauchst.</p>
</blockquote>
<p>OK, werde ich ändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2233782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2233782</guid><dc:creator><![CDATA[Ronco11]]></dc:creator><pubDate>Wed, 18 Jul 2012 13:43:27 GMT</pubDate></item></channel></rss>