<?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[Gültigkeit Pointer und new]]></title><description><![CDATA[<p>Folgendes Programm:</p>
<p>main.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
#include &quot;oberklasse.h&quot;

using namespace std;

int main()
{
	string *i;
	oberklasse obj;
	obj.createNewHeapData(i);
	cout &lt;&lt; (*i).length();

	return 1;
}
</code></pre>
<p>oberklasse.h</p>
<pre><code>#ifndef OBERKLASSE_H_
#define OBERKLASSE_H_

#include &lt;string&gt;

class oberklasse
{
public:
	oberklasse();
	virtual ~oberklasse();

	virtual char ausgabe();
	void createNewHeapData(std::string* item);
};

#endif /*OBERKLASSE_H_*/
</code></pre>
<p>oberklasse.cpp</p>
<pre><code>#include &quot;oberklasse.h&quot;

oberklasse::oberklasse()
{
}

oberklasse::~oberklasse()
{
}

char oberklasse::ausgabe()
{
	return 'b';
}

void oberklasse::createNewHeapData(std::string* item)
{
	item = new std::string(&quot;baba&quot;);
}
</code></pre>
<p>Wenn ich es ausführen will, sehe ich keine Ausgabe und valgrind zeigt:<br />
Use of uninitialisied value of size 4 ...</p>
<p>Wie kann ich einer Memberfunktion keinen Pointer übergeben, dann mit new ein Objekt anlegen, und dass dann wieder ausserhalb der funktion benutzen?</p>
<p>MFG<br />
Ace</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/236085/gültigkeit-pointer-und-new</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 02:59:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/236085.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Mar 2009 16:17:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Gültigkeit Pointer und new on Tue, 10 Mar 2009 16:17:26 GMT]]></title><description><![CDATA[<p>Folgendes Programm:</p>
<p>main.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
#include &quot;oberklasse.h&quot;

using namespace std;

int main()
{
	string *i;
	oberklasse obj;
	obj.createNewHeapData(i);
	cout &lt;&lt; (*i).length();

	return 1;
}
</code></pre>
<p>oberklasse.h</p>
<pre><code>#ifndef OBERKLASSE_H_
#define OBERKLASSE_H_

#include &lt;string&gt;

class oberklasse
{
public:
	oberklasse();
	virtual ~oberklasse();

	virtual char ausgabe();
	void createNewHeapData(std::string* item);
};

#endif /*OBERKLASSE_H_*/
</code></pre>
<p>oberklasse.cpp</p>
<pre><code>#include &quot;oberklasse.h&quot;

oberklasse::oberklasse()
{
}

oberklasse::~oberklasse()
{
}

char oberklasse::ausgabe()
{
	return 'b';
}

void oberklasse::createNewHeapData(std::string* item)
{
	item = new std::string(&quot;baba&quot;);
}
</code></pre>
<p>Wenn ich es ausführen will, sehe ich keine Ausgabe und valgrind zeigt:<br />
Use of uninitialisied value of size 4 ...</p>
<p>Wie kann ich einer Memberfunktion keinen Pointer übergeben, dann mit new ein Objekt anlegen, und dass dann wieder ausserhalb der funktion benutzen?</p>
<p>MFG<br />
Ace</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1677486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1677486</guid><dc:creator><![CDATA[AceKiller73]]></dc:creator><pubDate>Tue, 10 Mar 2009 16:17:26 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit Pointer und new on Tue, 10 Mar 2009 18:04:32 GMT]]></title><description><![CDATA[<p>Du musst eine Referenz auf deinen Zeiger in der Funktion übergeben, da ja sonst eine Kopie gemacht wird und sich deine globale variable nicht verändert. Das wurde gerade eben schonmal diskutiert.<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-236024.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-236024.html</a><br />
Warum erzeugst du deinen String überhaupt dynamisch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1677539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1677539</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 10 Mar 2009 18:04:32 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit Pointer und new on Tue, 10 Mar 2009 18:21:15 GMT]]></title><description><![CDATA[<p>Und wo ist deine Freigabefunktion?</p>
<p>Wie Braunstein sehe ich hier keinen Grund, den Speicher für den <code>std::string</code> dynamisch anzufordern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1677549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1677549</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 10 Mar 2009 18:21:15 GMT</pubDate></item></channel></rss>