<?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[sizeof anwenden auf Pointer in structs]]></title><description><![CDATA[<p>Hi @ all!</p>
<p>ich habe ein kleines Problem beim anwenden des sizeof-Operators. Hier eine verkuerzte Version meines Problems:</p>
<pre><code class="language-cpp">struct MyStruct
{
  int a;
  int b;
  float c;
}

template &lt;class MyStructInClass&gt;
class MyClass
{
  MyStructInClass* myStructInClass;
}
</code></pre>
<p>In der Main-Methode versuche ich dann folgendes:</p>
<pre><code class="language-cpp">MyClass&lt;MyStruct&gt; myClass;
int i = sizeof(myClass);
</code></pre>
<p>Dann ist i logischerweise = 4 (Groesse vom Zeiger in der Klasse). Aber auch wenn ich</p>
<pre><code class="language-cpp">int i = sizeof(myClass.myStructInClass);
</code></pre>
<p>schreibe, bleibt i = 4.</p>
<p>Weiss jemand, was ich da machen kann? ich brauche die Groesse von myStructInClass (ohne die struct oder calss zu aendern).</p>
<p>Thx!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/155521/sizeof-anwenden-auf-pointer-in-structs</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Jul 2026 05:09:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/155521.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 07 Aug 2006 09:16:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to sizeof anwenden auf Pointer in structs on Mon, 07 Aug 2006 09:16:36 GMT]]></title><description><![CDATA[<p>Hi @ all!</p>
<p>ich habe ein kleines Problem beim anwenden des sizeof-Operators. Hier eine verkuerzte Version meines Problems:</p>
<pre><code class="language-cpp">struct MyStruct
{
  int a;
  int b;
  float c;
}

template &lt;class MyStructInClass&gt;
class MyClass
{
  MyStructInClass* myStructInClass;
}
</code></pre>
<p>In der Main-Methode versuche ich dann folgendes:</p>
<pre><code class="language-cpp">MyClass&lt;MyStruct&gt; myClass;
int i = sizeof(myClass);
</code></pre>
<p>Dann ist i logischerweise = 4 (Groesse vom Zeiger in der Klasse). Aber auch wenn ich</p>
<pre><code class="language-cpp">int i = sizeof(myClass.myStructInClass);
</code></pre>
<p>schreibe, bleibt i = 4.</p>
<p>Weiss jemand, was ich da machen kann? ich brauche die Groesse von myStructInClass (ohne die struct oder calss zu aendern).</p>
<p>Thx!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112047</guid><dc:creator><![CDATA[WetDreams]]></dc:creator><pubDate>Mon, 07 Aug 2006 09:16:36 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof anwenden auf Pointer in structs on Mon, 07 Aug 2006 09:18:44 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">i = sizeof(MyStruct);
</code></pre>
<p>Bei deiner Variante kriegst du immer die Größe vom Zeiger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112052</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Mon, 07 Aug 2006 09:18:44 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof anwenden auf Pointer in structs on Mon, 07 Aug 2006 09:24:05 GMT]]></title><description><![CDATA[<p>Die Loesung war mir bewusst. Sry, hatte vergessen zu sagen, dass der Teil, in dem ich</p>
<pre><code class="language-cpp">i = sizeof(myClass)
</code></pre>
<p>aufrufe, die struct gar nicht kennt. Es handelt sich um einen Pointer-Array mit verschiedenen templates, und ich muss darueber iterieren und dann jeweils mit i arbeiten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112060</guid><dc:creator><![CDATA[WetDreams]]></dc:creator><pubDate>Mon, 07 Aug 2006 09:24:05 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof anwenden auf Pointer in structs on Mon, 07 Aug 2006 09:27:03 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">//
template &lt;class MyStructInClass&gt;
class MyClass
{
public:
	static const int size = sizeof(MyStructInClass);
    MyStructInClass* myStructInClass;
};

...

int i = myClass.size;
</code></pre>
<p>sowas?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112061</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Mon, 07 Aug 2006 09:27:03 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof anwenden auf Pointer in structs on Mon, 07 Aug 2006 09:29:10 GMT]]></title><description><![CDATA[<p>Hmm...ja, das waere so net schlecht, aber ich wollte eigentlich nicht in der struct und der class rumprogrammieren, aber geht wohl net anders...thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112063</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112063</guid><dc:creator><![CDATA[WetDreams]]></dc:creator><pubDate>Mon, 07 Aug 2006 09:29:10 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof anwenden auf Pointer in structs on Mon, 07 Aug 2006 09:31:52 GMT]]></title><description><![CDATA[<p>lol ok mir is nochwas eingefallen</p>
<pre><code class="language-cpp">int i = sizeof(*(myClass.myStructInClass));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1112065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112065</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Mon, 07 Aug 2006 09:31:52 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof anwenden auf Pointer in structs on Mon, 07 Aug 2006 09:34:35 GMT]]></title><description><![CDATA[<p>Werd|s mal probieren, thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112067</guid><dc:creator><![CDATA[WetDreams]]></dc:creator><pubDate>Mon, 07 Aug 2006 09:34:35 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof anwenden auf Pointer in structs on Mon, 07 Aug 2006 09:39:38 GMT]]></title><description><![CDATA[<p>Ok, das klappte. Hatte schon mal</p>
<pre><code class="language-cpp">int i = sizeof(*myClass.myStructInClass);
</code></pre>
<p>probiert, aber das von dir klappt, thx!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112069</guid><dc:creator><![CDATA[WetDreams]]></dc:creator><pubDate>Mon, 07 Aug 2006 09:39:38 GMT</pubDate></item><item><title><![CDATA[Reply to sizeof anwenden auf Pointer in structs on Mon, 07 Aug 2006 09:42:43 GMT]]></title><description><![CDATA[<p>WetDreams schrieb:</p>
<blockquote>
<p>Ok, das klappte. Hatte schon mal</p>
<pre><code class="language-cpp">int i = sizeof(*myClass.myStructInClass);
</code></pre>
<p>probiert, aber das von dir klappt, thx!</p>
</blockquote>
<p>&quot;*&quot; hat eine höhere Priorität als der &quot;.&quot;.<br />
Daher bedeutet deine Zeile folgendes für den Compiler:</p>
<pre><code class="language-cpp">(*myClass).myStructInClass
</code></pre>
<p>.<br />
myClass dereferenzieren und dann auf myStrucInClass zugreifen. Und das ist dann natürlich murks.<br />
Das ist nicht was du willst, daher musst selbst entsprechend die Klammern setzen, wie in meinem Post oben, um die Auswertung der Operatoren zu beeinflussen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112071</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Mon, 07 Aug 2006 09:42:43 GMT</pubDate></item></channel></rss>