<?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[boost::python und pointer?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich will in meiner C++ Anwendung Python scripting aktivieren. Allerdings habe ich bisher nichts zu Pointer gefunden. Wie mache ich z.b. folgende Klasse in Python verfügbar und wie bekomme den Pointer auf das Objekt in C++ zurück?</p>
<pre><code class="language-cpp">class Factory
{
  Object* Create();
};
</code></pre>
<p>Ich verwende boost::python.<br />
Danke im voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/230610/boost-python-und-pointer</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 06:37:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/230610.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 29 Dec 2008 19:18:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to boost::python und pointer? on Mon, 29 Dec 2008 19:18:15 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich will in meiner C++ Anwendung Python scripting aktivieren. Allerdings habe ich bisher nichts zu Pointer gefunden. Wie mache ich z.b. folgende Klasse in Python verfügbar und wie bekomme den Pointer auf das Objekt in C++ zurück?</p>
<pre><code class="language-cpp">class Factory
{
  Object* Create();
};
</code></pre>
<p>Ich verwende boost::python.<br />
Danke im voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1636985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1636985</guid><dc:creator><![CDATA[Marek08]]></dc:creator><pubDate>Mon, 29 Dec 2008 19:18:15 GMT</pubDate></item><item><title><![CDATA[Reply to boost::python und pointer? on Mon, 29 Dec 2008 23:49:45 GMT]]></title><description><![CDATA[<p>Hättest du die Möglichkeit, die Factory so zu verändern, daß sie statt eines schlichten Pointers einen <code>boost::shared_ptr</code> zurückgibt? Damit würdest du dir die Sache um einiges einfacher machen.</p>
<p>Das Hauptproblem von &quot;rohen&quot; Pointern im Zusammenhang mit Boost.Python ist, daß du dich selbst um die korrekte Lebensdauer des Objekts kümmern mußt. Boost.Python kann ja nicht wissen, ob der zurückgegebene Pointer auf ein neues oder ein bereits existierendes Objekt zeigt, bzw. ob das Objekt noch irgendwo innerhalb des C++-Codes referenziert wird.</p>
<p>Wenn du statt des <code>Object*</code> einen <code>boost::shared_ptr&lt;Object&gt;</code> benutzt, mußt du dir über all das praktisch keine Gedanken mehr machen. Boost.Python erzeugt automatisch den richtigen Code, und das Objekt wird dann gelöscht, wenn die letzte Referenz darauf erlischt, egal ob das in C++ oder in Python passiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1637109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1637109</guid><dc:creator><![CDATA[dooooomi]]></dc:creator><pubDate>Mon, 29 Dec 2008 23:49:45 GMT</pubDate></item></channel></rss>