<?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[Defaultparameter?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse Object3D, an die man andere Object3D dran hängen kann. Man kann sie entweder ans gesamte Objekt hängen oder an einen Bone des Objekts.</p>
<p>Ich bin mir gerade nicht sicher, ob ich eine Funktion mit 2 Parametern und einem Defaultparameter benutzen soll oder doch lieber 2 unterschiedliche Funktionsnamen. Die 2 Möglichkeiten:</p>
<pre><code class="language-cpp">// 1. Mit Defaultparameter:
class Object3D {
public:
   void attachChild(Object3D* child, int boneID = -1);
}
</code></pre>
<pre><code class="language-cpp">// 2. Mit 2 Methoden:
class Object3D {
public:
   void attachChild(Object3D* child);
    void attachChildToBone(Object3D* child, int boneID);
}
</code></pre>
<p>Was findet ihr besser?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/299845/defaultparameter</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 01:33:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/299845.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 19 Feb 2012 18:22:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Defaultparameter? on Sun, 19 Feb 2012 18:22:35 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse Object3D, an die man andere Object3D dran hängen kann. Man kann sie entweder ans gesamte Objekt hängen oder an einen Bone des Objekts.</p>
<p>Ich bin mir gerade nicht sicher, ob ich eine Funktion mit 2 Parametern und einem Defaultparameter benutzen soll oder doch lieber 2 unterschiedliche Funktionsnamen. Die 2 Möglichkeiten:</p>
<pre><code class="language-cpp">// 1. Mit Defaultparameter:
class Object3D {
public:
   void attachChild(Object3D* child, int boneID = -1);
}
</code></pre>
<pre><code class="language-cpp">// 2. Mit 2 Methoden:
class Object3D {
public:
   void attachChild(Object3D* child);
    void attachChildToBone(Object3D* child, int boneID);
}
</code></pre>
<p>Was findet ihr besser?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2183136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183136</guid><dc:creator><![CDATA[Ratfragger]]></dc:creator><pubDate>Sun, 19 Feb 2012 18:22:35 GMT</pubDate></item><item><title><![CDATA[Reply to Defaultparameter? on Sun, 19 Feb 2012 18:31:56 GMT]]></title><description><![CDATA[<p>Musst du bei bone wirklich mit einer ID arbeiten? Man fragt sich woher diese ID kommt, wäre ein Pointer da nicht sinnvoller?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2183140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183140</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 19 Feb 2012 18:31:56 GMT</pubDate></item><item><title><![CDATA[Reply to Defaultparameter? on Sun, 19 Feb 2012 18:43:00 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>Musst du bei bone wirklich mit einer ID arbeiten? Man fragt sich woher diese ID kommt, wäre ein Pointer da nicht sinnvoller?</p>
</blockquote>
<p>Aus technischen Gründen ist die Benutzung von ID sinnvoll. Weiß ich aber noch nicht sicher, ob ich das so lasse. Beantwortet allerdings nicht wirklich meine Frage...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2183145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183145</guid><dc:creator><![CDATA[Ratfragger]]></dc:creator><pubDate>Sun, 19 Feb 2012 18:43:00 GMT</pubDate></item><item><title><![CDATA[Reply to Defaultparameter? on Sun, 19 Feb 2012 19:03:49 GMT]]></title><description><![CDATA[<p>Ratfragger schrieb:</p>
<blockquote>
<p>Aus technischen Gründen ist die Benutzung von ID sinnvoll. Weiß ich aber noch nicht sicher, ob ich das so lasse. Beantwortet allerdings nicht wirklich meine Frage...</p>
</blockquote>
<p>Ich weiß, aber ich konnte mich nicht entscheiden. Würde zu Variante 2 tendieren. Einfach nur weil -1 so ein komischer invalider Wert ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2183154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183154</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 19 Feb 2012 19:03:49 GMT</pubDate></item><item><title><![CDATA[Reply to Defaultparameter? on Sun, 19 Feb 2012 23:51:49 GMT]]></title><description><![CDATA[<p>Eher das zweite. Wenns nicht ne Möglichkeit gibt, dem Bone die attach-Methode zu verpassen und einen Getter für den Bone (oder einen Proxy):</p>
<pre><code class="language-cpp">auto&amp; theBone = myObj3d.getBone(theBoneId);
theBone.attach(theChild);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2183229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183229</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sun, 19 Feb 2012 23:51:49 GMT</pubDate></item><item><title><![CDATA[Reply to Defaultparameter? on Mon, 20 Feb 2012 00:01:13 GMT]]></title><description><![CDATA[<p>Das Problem bei der ersten Variante ist einfach, dass du hier eine magische Konstante benutzt. Was soll -1 als boneId bedeuten? Hat jedes 3D Objekt &quot;bones&quot;? Gibt es ein &quot;default bone&quot; (-1)? Wenn ja, dann würde ich die erste Methode benutzen. Aber anstelle -1 eine Konstante ala <code>default_bone = -1</code> einführen. Wenn nicht jedes 3D Objekt bones hat, dann würde ich Variante 2 bevorzugen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2183233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183233</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Mon, 20 Feb 2012 00:01:13 GMT</pubDate></item><item><title><![CDATA[Reply to Defaultparameter? on Mon, 20 Feb 2012 10:39:12 GMT]]></title><description><![CDATA[<p>Normalerweise sind Bones hierarchisch verknüpft. Um sie später performant zu nutzen und weil man sie an Shader übergeben wird, legt man diesen Baum aber in einem vector an. Auch die parentID richtet sich normalerweise nach Position im vector.</p>
<p>Als Anwender erscheint -1 trotzdem seltsam. Ich würde zu Variante 2 raten oder eine Konstante anlegen:<br />
const unsigned int ROOT_BONE = -1; z.B. (oder NO_BONE, falls das in dem Kontext auch in Ordnung ist)</p>
<p>Dann kannst Du in Funktionskopf auch diese angeben und der Benutzer versteht sofort, worum es geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2183302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2183302</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Mon, 20 Feb 2012 10:39:12 GMT</pubDate></item></channel></rss>