<?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[static Funktionen]]></title><description><![CDATA[<p>Es geht nicht um Sichtbarkeiten, sondern Data Segment<br />
Wie werden die Funktionen, die static definiert sind,im Data Segment angelegt?<br />
Hier ein Beispiel in C (C++ muss gleich sein)</p>
<pre><code>static void swap(int *a, int *b)
{
  int temp = *a;
  *a = *b;
  *b = temp;
}
void main()
{
  swap(&amp;x,&amp;y);
}
</code></pre>
<p>im Data Segment werden folgende Daten registiert<br />
Rücksprung Adresse bei 32bit-Machine 4 Byte , pointer a 4 Byte, pointer b 4 Byte<br />
also insg. 12 Bytes, die sind fast wie global in dieser Datei, und die 32 bytes werden nicht gelöscht solange das program laeuft.</p>
<p>richtig??????</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/135588/static-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 13:41:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/135588.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 03 Feb 2006 08:27:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to static Funktionen on Fri, 03 Feb 2006 08:28:16 GMT]]></title><description><![CDATA[<p>Es geht nicht um Sichtbarkeiten, sondern Data Segment<br />
Wie werden die Funktionen, die static definiert sind,im Data Segment angelegt?<br />
Hier ein Beispiel in C (C++ muss gleich sein)</p>
<pre><code>static void swap(int *a, int *b)
{
  int temp = *a;
  *a = *b;
  *b = temp;
}
void main()
{
  swap(&amp;x,&amp;y);
}
</code></pre>
<p>im Data Segment werden folgende Daten registiert<br />
Rücksprung Adresse bei 32bit-Machine 4 Byte , pointer a 4 Byte, pointer b 4 Byte<br />
also insg. 12 Bytes, die sind fast wie global in dieser Datei, und die 32 bytes werden nicht gelöscht solange das program laeuft.</p>
<p>richtig??????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/984740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/984740</guid><dc:creator><![CDATA[netrobot]]></dc:creator><pubDate>Fri, 03 Feb 2006 08:28:16 GMT</pubDate></item><item><title><![CDATA[Reply to static Funktionen on Fri, 03 Feb 2006 08:37:24 GMT]]></title><description><![CDATA[<p>Also IMHO landen static Funktionen genauso im Codesegment wie andere, und die lokalen Variablen dieser Funktion landen auf dem Stack, nicht im Datensegment...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/984750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/984750</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 03 Feb 2006 08:37:24 GMT</pubDate></item><item><title><![CDATA[Reply to static Funktionen on Fri, 03 Feb 2006 08:52:39 GMT]]></title><description><![CDATA[<p>Habe ich beim Recherchieren gefunden:</p>
<p>*Die Bedeutung des Schlüsselwortes static ist kontextabhängig:</p>
<p>1. <strong>static</strong> in einer Funktionsdeklaration bewirkt, daß die Funktion nur in diesem Quelltextfile sichtbar ist.<br />
2. <strong>static</strong> bei einer Variablendeklaration innerhalb einer Funktion bewirkt, daß die Funktion diesen Wert zwischen Funktionsaufrufen behält. Siehe static Variablen.*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/984761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/984761</guid><dc:creator><![CDATA[ConstRef]]></dc:creator><pubDate>Fri, 03 Feb 2006 08:52:39 GMT</pubDate></item><item><title><![CDATA[Reply to static Funktionen on Fri, 03 Feb 2006 09:10:58 GMT]]></title><description><![CDATA[<blockquote>
<p>Also IMHO landen static Funktionen genauso im Codesegment wie andere, und die lokalen Variablen dieser Funktion landen auf dem Stack, nicht im Datensegment...</p>
</blockquote>
<p>d.h. es gibt keinen Unterschied zwischen statischer und normaler Funktion ausser Sichtbarkeit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/984770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/984770</guid><dc:creator><![CDATA[netrobot]]></dc:creator><pubDate>Fri, 03 Feb 2006 09:10:58 GMT</pubDate></item><item><title><![CDATA[Reply to static Funktionen on Sat, 11 Feb 2006 10:11:26 GMT]]></title><description><![CDATA[<p>static Varible und Function sind wie normale C global definierte Variable und Funktion, bis auf die Sichtbarkeit.</p>
<pre><code>class foo
{
  private:
     static int data;
  public:
     static void changed();
} ;
foo::data = 0;
void foo::changed()
{
  --data; 
}
void main()
{
  int d = foo::data;//data von aussen sichtbar
  foo::changed(); //static Funktion von aussen sichtbar
  d = foo::data;
}
</code></pre>
<p>wenn ich statt static Funktion innerhalb von class global definiere</p>
<pre><code>class foo
{

} ;
int data = 0;
changed()
{
  --data; 
}
void main()
{
  int d = data;//globale 
  changed(); //globale   
  d = data;
}
</code></pre>
<p>die Beiden Programm sollten identisch sein.<br />
eigentlich C++ kann C ersetzen mit objectorientierung.<br />
In diesem Fall scheint es sehr lahm. Nach dem Motto&quot;C++ ist ein objectorientierte Sprache, ich muss alles in einer Klasse packen&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/991379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/991379</guid><dc:creator><![CDATA[netrobot]]></dc:creator><pubDate>Sat, 11 Feb 2006 10:11:26 GMT</pubDate></item></channel></rss>