<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Freak-und-Informatiker &#187; C++</title>
	<atom:link href="http://www.freak-und-informatiker.de/category/programmierung/cpp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.freak-und-informatiker.de</link>
	<description>Debugger sind was für Memmen! Echte Männer kompilieren direkt auf die Master CD ...</description>
	<lastBuildDate>Wed, 29 Sep 2010 16:00:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Boost und mingw</title>
		<link>http://www.freak-und-informatiker.de/2009/01/03/boost-und-mingw/</link>
		<comments>http://www.freak-und-informatiker.de/2009/01/03/boost-und-mingw/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 17:17:33 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Boost]]></category>
		<category><![CDATA[mingw]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=928</guid>
		<description><![CDATA[Mehr oder weniger fieser Stolperstein für alle, die gelesen haben ein simples bjam &#8211;toolset=gcc &#8211;build-type=complete stage würde ausreichen um Boost unter Windows mit dem mingw zu kompilieren: Das setzt vorraus, dass euer System &#8220;korrekt&#8221; eingerichtet ist Korrekt in diesem Sinne heisst, dass sich (unter anderem) die g++.exe und die cc1plus.exe in der PATH Umgebungsvariable befinden [...]]]></description>
			<content:encoded><![CDATA[<p>Mehr oder weniger fieser Stolperstein für alle, die gelesen haben ein simples <strong>bjam &#8211;toolset=gcc &#8211;build-type=complete stage</strong> würde ausreichen um Boost unter Windows mit dem mingw zu kompilieren: Das setzt vorraus, dass euer System &#8220;korrekt&#8221; eingerichtet ist <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Korrekt in diesem Sinne heisst, dass sich (unter anderem) die g++.exe und die cc1plus.exe in der PATH Umgebungsvariable befinden müssen. Ansonsten meckert bjam diese Programme als &#8220;fehlend&#8221; an.</p>
<p>Die Einrichtung ist aber wirklich einfach (zumindestens unter Vista und XP):</p>
<ul>
<li>Sucht den Pfad zu eurer mingw Installation raus. Ich werden diesen Pfad im Folgenden als $mingw bezeichnen.</li>
<li>Tipp am Rande: Wenn ihr mit Code::Block arbeitet ist mingw in dem Unterordner &#8220;mingw&#8221; eurer Code::Blocks Installation zu finden.</li>
<li>Öffnet die Systemeigenschaften (z.B. über Arbeitsplatz -&gt; Eigenschaften).</li>
<li>Wählt dort den Punkt &#8220;Erweitert&#8221; aus.</li>
<li>Klickt dort auf &#8220;Umgebungsvariablen&#8221;.</li>
<li>Wählt bei den Systemvariablen die Variable &#8220;Path&#8221; aus und hängt die folgende Zeichenkette hinten dran: <em>&#8220;$mingw\bin&#8221;;&#8221;</em><em>$mingw\</em><em>libexec\gcc\mingw32\3.4.5&#8243;;</em></li>
<li><strong>Wichtig</strong>: Nehmt die Anführungszeichen um den Eintrag mit und löscht keine Einträge!</li>
<li>Nun müsst ihr gegebenenfalls noch eine neue Instanz der cmd.exe starten und dann sollte das gcc toolset wirklich funktionieren <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ul>
<p>Und abschließend nochmal ein Screenshot zur Verdeutlichung:</p>
<p style="text-align: center;"><a href="http://www.freak-und-informatiker.de/wp-content/uploads/2009/01/umgebungsvariablen.png" rel="lightbox[928]"><img class="size-full wp-image-929 aligncenter" title="Definieren der Umgebungsvariablen" src="http://www.freak-und-informatiker.de/wp-content/uploads/2009/01/umgebungsvariablen.png" alt="Definieren der Umgebungsvariablen" width="419" height="525" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2009/01/03/boost-und-mingw/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jetzt gehts los mit der AG!</title>
		<link>http://www.freak-und-informatiker.de/2008/11/02/jetzt-gehts-los-mit-der-ag/</link>
		<comments>http://www.freak-und-informatiker.de/2008/11/02/jetzt-gehts-los-mit-der-ag/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 10:16:48 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Schule]]></category>
		<category><![CDATA[C++ AG]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=814</guid>
		<description><![CDATA[So, wie Freitag besprochen einmal die Druckvorlagen für Torben (oder sonstwen, falls er sich dazu berufen fühlen sollte): Zip Archiv mit odt und pdf Version des Aushangs Solltet ihr Tipp- oder andere Fehler finden, bitte einen kurzen Hinweis in den Kommentaren vermerken. Nett wäre es auch, wenn ihr mir mitteilt wo / wieviele von den [...]]]></description>
			<content:encoded><![CDATA[<p>So, wie Freitag besprochen einmal die Druckvorlagen für Torben (oder sonstwen, falls er sich dazu berufen fühlen sollte):</p>
<ul>
<li><a href="http://www.freak-und-informatiker.de/wp-content/uploads/2008/11/c-ag-08.zip">Zip Archiv mit odt und pdf Version des Aushangs</a></li>
</ul>
<p>Solltet ihr Tipp- oder andere Fehler finden, bitte einen kurzen Hinweis in den Kommentaren vermerken. Nett wäre es auch, wenn ihr mir mitteilt wo / wieviele von den Aushängen ihren Weg in die THS gefunden haben.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/11/02/jetzt-gehts-los-mit-der-ag/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>C++0x &#8211; Vorfreude</title>
		<link>http://www.freak-und-informatiker.de/2008/11/02/cpp0x-vorfreude/</link>
		<comments>http://www.freak-und-informatiker.de/2008/11/02/cpp0x-vorfreude/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 09:31:03 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[C++0x]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=813</guid>
		<description><![CDATA[Der kommende C++ Standard ist echt ein bisschen wie eine Wundertüte. Bei den meisten Sachen kam ich gar nicht so Recht auf den Gedanken, dass ich sie vermisse, bis ich mich mal damit beschäftigt habe. (&#8220;Disclaimer&#8221;: C++0x ist aber noch nicht standarisiert! Verhaltensweisen etc. können sich theoretisch noch ändern!) Lambda Funktionen Damit wird die ganze [...]]]></description>
			<content:encoded><![CDATA[<p>Der kommende C++ Standard ist echt ein bisschen wie eine Wundertüte. Bei den meisten Sachen kam ich gar nicht so Recht auf den Gedanken, dass ich sie vermisse, bis ich mich mal damit beschäftigt habe. (&#8220;Disclaimer&#8221;: C++0x ist aber noch nicht standarisiert! Verhaltensweisen etc. können sich theoretisch noch ändern!)</p>
<ul>
<li><strong>Lambda</strong> Funktionen<br />
Damit wird die ganze &lt;algorithm&gt; Funktionalität der STL drastisch vereinfacht beziehungsweise intuitiver. Auf <a href="http://cschleiden.spaces.live.com/blog/cns!A8BBB8A086E51796!170.entry">c.s. notes</a> gibt es eine gute Erklärung was Lambdas eigentlich so sind. In Kurzform: Damit kann man sich z.B. endlich alle möglichen Strukturen, die nur den Operator() implementieren ein für alle mal sparen! 
</li>
<li>Das <strong>auto</strong> Keyword<br />
Im &#8220;jetzigen&#8221; Standard ist auto als eigenes Keyword eigentlich komplett sinnfrei. Es bezeichnet lediglich die &#8220;normale&#8221; <a href="http://www.cpp-tutor.de/cpp/le07/le07_03.htm">Speicherklasse</a> von Variablen. Aber mit C++0x wird daraus eine Art Kurzschreibweise für &#8220;bekannte&#8221; Typen. Verkürzt gesagt, hat eine Autovariable immer den Typ der Variable, der ihr als erstes zugewiesen wird. Damit kann man sich z.B. bei Iterationen mittels for() eine Menge Tipparbeit sparen:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">std<span style="color: #008080;">::</span><span style="color: #007788;">vector</span><span style="color: #000080;">&lt;</span>sometype<span style="color: #000080;">&gt;</span> v<span style="color: #008080;">;</span>
<span style="color: #666666;">// v sollte natürlich noch mit Werten gefüllt werden,</span>
<span style="color: #666666;">// aber für ein Beispiel geht das auch mal so.</span>
<span style="color: #666666;">// Ohne auto iterieren</span>
<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>std<span style="color: #008080;">::</span><span style="color: #007788;">vector</span><span style="color: #000080;">&lt;</span>sometype<span style="color: #000080;">&gt;</span><span style="color: #008080;">::</span><span style="color: #007788;">iterator</span> it <span style="color: #000080;">=</span> v.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it <span style="color: #000040;">!</span><span style="color: #000080;">=</span> v.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    std<span style="color: #008080;">::</span><span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #000040;">*</span>it <span style="color: #000080;">&lt;&lt;</span> std<span style="color: #008080;">::</span><span style="color: #007788;">endl</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #666666;">// Mit auto iterieren</span>
<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">auto</span> it <span style="color: #000080;">=</span> v.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it <span style="color: #000040;">!</span><span style="color: #000080;">=</span> v.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    std<span style="color: #008080;">::</span><span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #000040;">*</span>it <span style="color: #000080;">&lt;&lt;</span> std<span style="color: #008080;">::</span><span style="color: #007788;">endl</span><span style="color: #008080;">;</span>
    <span style="color: #000040;">*</span>it <span style="color: #000080;">=</span> anothertype<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">// Fehler, it ist vom Typ sometype</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Plötzlich passt die Iteration also sogar bequem in die beschränkte Breite dieses Blogs. Und natürlich könnte man hier auch mit typedefs arbeiten (sollte man imho auch), dadurch verschiebt sich das eigentliche Problem aber nur. </li>
<li><strong>nullptr</strong><br />
Eines der von C geerbten Probleme von C++ ist es, zwischen dem Zahlenwert 0 und einem Nullpointer zu unterscheiden. C++0x führt (hoffentlich) endlich ein explizit für dieses Szenario gedachtes keyword ein: nullptr. Ich kann hierfür leider kein direktes Beispiel geben (ich find einfach keins), aber alleine die Aussicht auf ein Verhalten wie man es auch von Java oder meinetwegen C# kennt ist großartig!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/11/02/cpp0x-vorfreude/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>wxWidgets und &#8220;zufällige&#8221; Abstürze</title>
		<link>http://www.freak-und-informatiker.de/2008/09/18/wxwidgets-und-zufallige-absturze/</link>
		<comments>http://www.freak-und-informatiker.de/2008/09/18/wxwidgets-und-zufallige-absturze/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 07:11:20 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[wxWidgets]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=779</guid>
		<description><![CDATA[Vorab: Ich finde wxWidgets toll! Aber hie und da ist es gut in der Lage mich in den Wahnsinn zu treiben. Ein Erfahrungsbericht: Aus der Sicht eines Windowsprogrammierers ist es verdammt einfach Linux zu unterstützen! Ein praktisches Tool namens wxconfig kennt die Feinheiten des Linuxsystems auf dem es installiert ist und nimmt es dem Programmierer [...]]]></description>
			<content:encoded><![CDATA[<p>Vorab: Ich finde <a href="http://www.wxwidgets.org/">wxWidgets</a> toll! Aber hie und da ist es gut in der Lage mich in den Wahnsinn zu treiben. Ein Erfahrungsbericht:</p>
<ul>
<li>Aus der Sicht eines Windowsprogrammierers ist es verdammt einfach Linux zu unterstützen! Ein praktisches Tool namens wxconfig kennt die Feinheiten des Linuxsystems auf dem es installiert ist und nimmt es dem Programmierer ab, Linker- und Compileroptionen statisch zu setzen. Bei meinem aktuellen Projekt übergeb ich als einzige Linker Option so zum Beispiel das:
<pre>`wx-config --libs --gl-libs`</pre>
<p>Und schon werden die benötigten Libraries mitgelinkt. In der überaus heterogenen Welt der Linux Distributionen äusserst hilfreich!</li>
<li>Die RAD Tools sind vorhanden und zumindestens brauchbar. Ich persönlich habe mich für den <a href="http://wxformbuilder.org/">wxFormBuilder</a> entschieden. Dieser erzeugt eine Basisklasse mit allen Layoutinformationen und Controls und ich muss dann nur noch davon erben und kann dann Events überschreiben. Andererseits muss ich nach jedem Erstellvorgang den Quellcode doch nochmal von Hand anpassen, weil die &#8220;relative Pfadangaben&#8221; Option vor alle Pfade ein &#8220;./..&#8221; klatscht. Das entspricht zwar dann dem Layout in der Quellcode Ordnerhierarchie, aber nicht der Ordnerhierarchie des Programms.</li>
<li>Einige Teile von wxWidgets wirken sehr &#8220;offiziell&#8221; sind aber nur sehr mäßig unterstützt. In meinem Fall war das wxGlCanvas, also eine &#8220;integrierte&#8221; OpenGL Zeichenfläche ein Stolperstein. Ich verweise hierbei auf <a href="http://wxforum.shadonet.com/viewtopic.php?t=20882&amp;highlight=">einen Thread von mir im wxWidgets Forum</a>. Für Faule: die &#8220;Lösung&#8221; meines Problems war am Ende, dass sich zwei (verschieden überladene) Konstruktoren undokumentiert anders Verhalten haben &#8230;</li>
<li>Die wxString Klasse hat irgendwie in Verbindung mit dem gcc Compiler (und auch dem MinGW) einen Klatsch weg. wxString::Format() und wxString(char*, wxConvUTF8) führen teilweise zu äusserst bizarren Fehlern, die erst nach den obigen Methoden auftauchen. Ich hab keine Ahung woran das liegt, vielleicht ist es am Ende ja doch nur ein Fehler auf meiner Seite &#8230; Der MSVC++ Compiler frissts aber!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/09/18/wxwidgets-und-zufallige-absturze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Argumente in main vs WinMain</title>
		<link>http://www.freak-und-informatiker.de/2008/07/26/argumente-in-main-vs-winmain/</link>
		<comments>http://www.freak-und-informatiker.de/2008/07/26/argumente-in-main-vs-winmain/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 10:46:56 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[C++ Standard]]></category>
		<category><![CDATA[Parameter]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=742</guid>
		<description><![CDATA[Windows macht Dinge anders. Das ist bekannt und ich bin trotzdem wieder mal reingefallen &#8230; Standard C++ definiert die bekannte main() Funktion. int main&#40;int argc, char** argv&#41; Die Windows spezifische Version schaut so aus: int WINAPI WinMain&#40;HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow&#41; Ich werde hier nicht weiter auf die Unterschiede bezüglich hPrevInstance und [...]]]></description>
			<content:encoded><![CDATA[<p>Windows macht Dinge anders. Das ist bekannt und ich bin trotzdem wieder mal reingefallen &#8230;</p>
<p>Standard C++ definiert die bekannte main() Funktion.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> argc, <span style="color: #0000ff;">char</span><span style="color: #000040;">**</span> argv<span style="color: #008000;">&#41;</span></pre></div></div>

<p>Die Windows spezifische Version schaut so aus:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> WINAPI WinMain<span style="color: #008000;">&#40;</span>HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine,
                   <span style="color: #0000ff;">int</span> nCmdShow<span style="color: #008000;">&#41;</span></pre></div></div>

<p>Ich werde hier nicht weiter auf die Unterschiede bezüglich hPrevInstance und hInstance eingehen, da weiß Google besser bescheid. Stattdessen gehe ich auf lpCmdLine und nCmdShow ein.</p>
<p>Wer sich an Dinge wie die STL gewöhnt, vermutet immer gerne mal wieder, dass Dinge überall gleich funktionieren. Sollten sie zwar auch, hier tun sie es aber nicht!</p>
<p>Ich ging in meiner Naivität davon aus, dass nCmdShow die Entsprechung für argc und lpCmdLine die Entsprechung von argv wäre. NEIN! lpCmdLine schmeisst einen Teil der Vorteile von argv weg: Es fügt die Kommandozeilen Parameter in einem einzigen String zusammen. Während argv also eher wie ein Array aus char* zu handhaben ist, wobei der Index 0 dem Pfad zum Programm entspricht, ist lpCmdLine ein einziger String aller Parameter ohne den Pfad zum Programm.</p>
<p>Gegenübergestellt schaut das so aus:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">Kommandozeile<span style="color: #008080;">:</span> <span style="color: #000040;">/</span>usr<span style="color: #000040;">/</span>bin<span style="color: #000040;">/</span>foo <span style="color: #000040;">-</span>key value <span style="color: #000040;">-</span>foo <span style="color: #FF0000;">&quot;foo bar&quot;</span>
lpCmdLine<span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;-key value -foo <span style="color: #000099; font-weight: bold;">\&quot;</span>foo bar<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span>
argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;/usr/bin/foo&quot;</span>
argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;-key&quot;</span>
argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;value&quot;</span>
argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;-foo&quot;</span>
argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;foo bar&quot;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/07/26/argumente-in-main-vs-winmain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>delete und NULL Zeiger &#8230;</title>
		<link>http://www.freak-und-informatiker.de/2008/07/25/delete-und-null-zeiger/</link>
		<comments>http://www.freak-und-informatiker.de/2008/07/25/delete-und-null-zeiger/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 12:21:12 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[C++ Standard]]></category>
		<category><![CDATA[Delete]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=739</guid>
		<description><![CDATA[&#8230; sind absolut valides C++! Wirklich! Konstrukte wie dieses hier sind tatsächlich überflüssig &#8230; if &#40;pointer&#41; &#123; delete pointer; pointer = NULL; &#125; Ein einfaches delete und auf NULL setzen tuts auch]]></description>
			<content:encoded><![CDATA[<p>&#8230; sind absolut valides C++! Wirklich! Konstrukte wie dieses hier sind tatsächlich überflüssig &#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>pointer<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000dd;">delete</span> pointer<span style="color: #008080;">;</span>
    pointer <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Ein einfaches delete und auf NULL setzen tuts auch <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/07/25/delete-und-null-zeiger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scott Meyers: Effective STL</title>
		<link>http://www.freak-und-informatiker.de/2008/07/17/scott-meyers-effective-stl/</link>
		<comments>http://www.freak-und-informatiker.de/2008/07/17/scott-meyers-effective-stl/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 08:05:27 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Buch]]></category>
		<category><![CDATA[Scott Meyers]]></category>
		<category><![CDATA[STL]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=732</guid>
		<description><![CDATA[Wenn sich mein Leben grad schon so nicht bloggenswert gibt, muss ich mir eben was anderes einfallen lassen. In diesem Fall dann eben ein Buchtipp. Ich muss dazu sagen, dass mir der Gedanke bei der Planung der C++ AG kam, für euch könnte das Buch tatsächlich ziemlich gut sein Wer noch nie was von Scott [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn sich mein Leben grad schon so nicht bloggenswert gibt, muss ich mir eben was anderes einfallen lassen. In diesem Fall dann eben ein Buchtipp. Ich muss dazu sagen, dass mir der Gedanke bei der Planung der C++ AG kam, für euch könnte das Buch tatsächlich ziemlich gut sein <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Wer noch nie was von Scott Meyers gehört hat und sich trotzdem als &#8220;erfahren&#8221; in der Programmierung mit C++ bezeichnet, leidet mit sehr großer Wahrscheinlichkeit an Selbstüberschätzung. &#8220;Effective STL&#8221; ist eine Art indirekter Nachfolger von &#8220;Effective C++&#8221;.  Und es ist meiner Meinung nach auch für Anfänger relativ gut zu verstehen. Meyers geht bei &#8220;Effective STL&#8221; zunächst davon aus, dass der Leser bisher größtenteils den Container Anteil der STL verwendet hat, ohne sich tiefergehend mit diesen zu beschäftigen.</p>
<p>Das Buch ist sehr übersichtlich gegliedert und umfasst die folgenden Sektionen:</p>
<ol>
<li>Containers</li>
<li>vector and string</li>
<li>Associative Containers</li>
<li>Iterators</li>
<li>Algorithms</li>
<li>Functors, Functor Classes, Functions, etc.</li>
<li>Programming with the STL</li>
</ol>
<p>Es sollte also für jeden was dabei sein.</p>
<p>So wie einige Leute schlechten Code in <a href="http://www.osnews.com/images/comics/wtfm.jpg" rel="lightbox[732]">&#8220;wtfs per minute&#8221; messen</a>, messe ich Fachbücher an &#8220;ahas per minute&#8221;. Nun kommt Meyer diese Art der &#8220;Messung&#8221; ohne Frage entgegen, immerhin gliedert er seine Bücher in einzelne Tipps, die zwar teilweise untereinander verweisen, aber trotzdem alle für sich selbst stehen können. In &#8220;Effective STL&#8221; bietet Meyers 50 dieser Tipps.</p>
<p>Wie immer sind diese teilweise sehr einfach zu verstehen, aber man ist trotzdem dankbar für die gute Argumentation seitens Meyers. Er beleuchtet auch triviale Sachverhalte so ausführlich, dass sie einem einfach im Kopf bleiben müssen &#8230; Wer hört, dass die Zuweisung von Container über z.B. vector.assign() sinnvoller ist als über Schleifen, wird das möglicherweise wieder vergessen. Wem dann aber noch im Detail erklärt wird, was sich mit copy() und insert() so ohne weiteres anstellen lässt, der begreift nicht nur was assign() macht, sondern wir die STL funktioniert.</p>
<p>Und das ist es im wesentlichen was Meyers macht: er erklärt die &#8220;vorgesehene&#8221; Nutzung der STL. Die meisten Leute sind so froh über grundlegende Container wie vector&lt;&gt;, dass sie vergessen zu gucken was diese ausser der dynamischen Größe nochmal mehr können als Arrays. Und genau hier setzt Meyers an!</p>
<p>Für jemanden der sich mit der STL schon eingehend beschäftigt hat, bietet das Buch somit nur die Hälfte. Es untermauert das eigene Wissen sinvoll, ist aber gemessen an &#8220;ahas per minute&#8221; nicht unbedingt ein Spitzenreiter. Wenn man jedoch z.B. Willi heißt und grundsätzlich erstmal brachiale Ansätze wählt, wird man aus dem Staunen kaum mehr herauskommen <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://www.amazon.de/gp/product/0201749629?ie=UTF8&#038;tag=marcusbloggt-21&#038;linkCode=as2&#038;camp=1638&#038;creative=6742&#038;creativeASIN=0201749629">Effective STL: 50 Specific Ways to Improve the Use of the Standard Template Library (Addison-Wesley Professional Computing)</a><img src="http://www.assoc-amazon.de/e/ir?t=marcusbloggt-21&#038;l=as2&#038;o=3&#038;a=0201749629" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/07/17/scott-meyers-effective-stl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>std::string::tolower()?</title>
		<link>http://www.freak-und-informatiker.de/2008/05/17/stdstringtolower/</link>
		<comments>http://www.freak-und-informatiker.de/2008/05/17/stdstringtolower/#comments</comments>
		<pubDate>Sat, 17 May 2008 15:30:57 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[std::string]]></category>
		<category><![CDATA[tolower]]></category>
		<category><![CDATA[toupper]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/2008/05/17/stdstringtolower/</guid>
		<description><![CDATA[So manch einer der auf C++ umsteigt wundert sich, warum man dort anscheinend keine tolower Methode kennt. Aber es gibt sie Sie ist &#8220;nur&#8221; etwas versteckt. Die Vorgehensweise für den Nachbau von toupper ist naheliegenderweise sehr ähnlich. Das Zauberwort heißt std::tolower in Kombination mit std::transform. std::transform wird genutzt, um einen Bereich (begrenzt durch zwei Iteratoren) [...]]]></description>
			<content:encoded><![CDATA[<p>So manch einer der auf C++ umsteigt wundert sich, warum man dort anscheinend keine tolower Methode kennt. Aber es gibt sie <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Sie ist &#8220;nur&#8221; etwas versteckt. Die Vorgehensweise für den Nachbau von toupper ist naheliegenderweise sehr ähnlich.</p>
<p>Das Zauberwort heißt std::tolower in Kombination mit std::transform. std::transform wird genutzt, um einen Bereich (begrenzt durch zwei Iteratoren) gleichzeitig zu kopieren und mit einer Funktion umzuwandeln. Die Signatur von std::transform sieht in etwa so aus:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">OutputIterator transform<span style="color: #008000;">&#40;</span>InputIterator first,
                         InputIterator last,
                         OutputIterator result,
                         UnaryOperation op<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p>Dabei ist es kein Problem, wenn first und result identisch sind. op bezeichnet die Funktion, die wir für jedes zu transformierende Objekt aufrufen wollen.</p>
<p>Mit diesem Rüstzeug können wir einen beliebigen String &#8220;verkleinern&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">// Converting the string to lowercase</span>
std<span style="color: #008080;">::</span><span style="color: #007788;">string</span> string<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;I aM WriTten In MixED cASe!&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
std<span style="color: #008080;">::</span><span style="color: #007788;">transform</span><span style="color: #008000;">&#40;</span>string.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, string.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, string.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, std<span style="color: #008080;">::</span><span style="color: #0000dd;">tolower</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<p>Edit am 7.9.2008:</p>
<p>Da hab ich doch glatt vergessen die header mit &#8220;bekanntzugeben&#8221;. Also hier:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;string&gt; // std::string</span>
<span style="color: #339900;">#include &lt;algorithm&gt; // std::transform</span>
<span style="color: #339900;">#include &lt;cctype&gt; // std::tolower</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/05/17/stdstringtolower/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Programmiertest bei G DATA</title>
		<link>http://www.freak-und-informatiker.de/2008/04/09/programmiertest-bei-g-data/</link>
		<comments>http://www.freak-und-informatiker.de/2008/04/09/programmiertest-bei-g-data/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 17:28:23 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Beruf]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Test]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/2008/04/09/programmiertest-bei-g-data/</guid>
		<description><![CDATA[G DATA veröffentlicht einen extrem schwierigen &#8220;Einstellungstest&#8220;. Hmm, wenn das tatsächlich das Niveau bei G DATA sein sollte, könnte ich dort ja vom Fleck weg anfangen. Da war ja das Niveau im Informatikkurs von Frau Hansen fast höher.]]></description>
			<content:encoded><![CDATA[<p>G DATA veröffentlicht einen <del>extrem schwierigen</del> &#8220;<a href="http://www.gdata.de/unternehmen/DE/jobs/1" target="_blank">Einstellungstest</a>&#8220;. Hmm, wenn das tatsächlich das Niveau bei G DATA sein sollte, könnte ich dort ja vom Fleck weg anfangen. Da war ja das Niveau im Informatikkurs von Frau Hansen fast höher.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/04/09/programmiertest-bei-g-data/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nichtinitialisierte Variablen</title>
		<link>http://www.freak-und-informatiker.de/2008/03/18/nichtinitialisierte-variablen/</link>
		<comments>http://www.freak-und-informatiker.de/2008/03/18/nichtinitialisierte-variablen/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 12:58:37 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/2008/03/18/nichtinitialisierte-variablen/</guid>
		<description><![CDATA[Nichtinitialisierte Variablen werden in Debugbuilds vom Visual Studio mit folgenden Standardwerten versehen: 0xCC is uninitialised stack (local variables). 0xCD is uninitialised heap (new). 0xDD is freed heap memory. 0xFD is put before and after a block, to check for overruns. Es steckt also doch ein tieferer Sinn hinter den Werten &#8230; Gut, dass zu wissen.]]></description>
			<content:encoded><![CDATA[<p>Nichtinitialisierte Variablen werden in Debugbuilds vom Visual Studio mit folgenden Standardwerten versehen:</p>
<blockquote><p><span class="postbody"> 0xCC is uninitialised stack (local variables).<br />
0xCD is uninitialised heap (new).<br />
0xDD is freed heap memory.<br />
0xFD is put before and after a block, to check for overruns.</span></p></blockquote>
<p>Es steckt also doch ein tieferer Sinn hinter den Werten &#8230; Gut, dass zu wissen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/03/18/nichtinitialisierte-variablen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IT Zitate</title>
		<link>http://www.freak-und-informatiker.de/2007/12/16/it-zitate/</link>
		<comments>http://www.freak-und-informatiker.de/2007/12/16/it-zitate/#comments</comments>
		<pubDate>Sun, 16 Dec 2007 20:49:00 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Stroustrup]]></category>
		<category><![CDATA[Torvalds]]></category>
		<category><![CDATA[Zitat]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/2007/12/16/it-zitate/</guid>
		<description><![CDATA[Es gibt da einige wenige Zitate, die ich schon seit Ewigkeiten mal bringen wollte. Ursprünglich hatte ich vor dazu ein wenig zu recherchieren, aber der Aufwand war mir einfach zu groß. Also gibts die eben Zitate &#8220;pur&#8221;. Bjarne Stroustrup &#8211; Erfinder und Entwickler der Programmiersprache C++ &#8220;Ich habe mir immer gewünscht, dass mein Computer so [...]]]></description>
			<content:encoded><![CDATA[<p>Es gibt da einige wenige Zitate, die ich schon seit Ewigkeiten mal bringen wollte. Ursprünglich hatte ich vor dazu ein wenig zu recherchieren, aber der Aufwand war mir einfach zu groß. Also gibts die eben Zitate &#8220;pur&#8221;.</p>
<p><a href="http://www.research.att.com/~bs/bs_faq.html#really-say-that" target="_blank">Bjarne Stroustrup</a> &#8211; Erfinder und Entwickler der Programmiersprache C++</p>
<blockquote><p>&#8220;Ich habe mir immer gewünscht, dass mein Computer so leicht zu bedienen ist wie mein Telefon; mein Wunsch ging in Erfüllung: mein Telefon kann ich jetzt auch nicht mehr bedienen.&#8221; &#8211; <em>um 1990, nach dem Versuch, ein Multifunktions-Telefon zu benutzen;</em></p>
<p>&#8220;C macht es einfach, sich selbst ins Bein zu Schießen; C++ erschwert es, aber wenn es dir gelingt, bläst es dir das ganze Bein weg&#8221; &#8211; <em>um 1986</em></p></blockquote>
<p>Linus Torvalds &#8211; Begründer von Linux</p>
<blockquote><p>&#8220;Nur Weicheier benutzen Datensicherungen auf Band: richtige Männer laden ihren wichtigen Kram einfach auf einen FTP und lassen diesen vom Rest der Welt spiegeln.&#8221; &#8211; <em><a href="http://groups.google.com/groups?selm=Pine.LNX.3.91.960720095713.20645F-100000%40linux.cs.Helsinki.FI" class="external text" title="http://groups.google.com/groups?selm=Pine.LNX.3.91.960720095713.20645F-100000%40linux.cs.Helsinki.FI" rel="nofollow">Posting</a> im Usenet, 1996</em></p>
<p>&#8220;Das war mein Leben: Ich aß. Ich schlief. Vielleicht ging ich zur Uni. Ich programmierte. Ich las eine Menge E-Mails. Mir war klar, dass manche meiner Freunde mehr Sex hatten, aber das war okay. Offen gesagt, die meisten meiner Freunde waren auch Loser.&#8221; &#8211; <em>aus der Autobiographie &#8220;<a href="http://www.amazon.de/Just-Fun-Linus-Torvalds/dp/3423362995/ref=pd_bbs_sr_2?ie=UTF8&amp;s=books&amp;qid=1197838006&amp;sr=8-2" target="_blank">Just for Fun. Wie ein Freak die Computerwelt revolutionierte</a>.&#8221; Sehr zu empfehlen <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </em></p></blockquote>
<p>Insbesonders das Letzte finde ich herrlich passend zur <a href="http://www.freak-und-informatiker.de/2007/12/13/nerds-und-freaks-und-so/">&#8220;Freak / Nerd&#8221; Problematik</a>. Der Mann hat schlichtweg recht *g*</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/12/16/it-zitate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>foreach und C++</title>
		<link>http://www.freak-und-informatiker.de/2007/12/15/foreach-und-c/</link>
		<comments>http://www.freak-und-informatiker.de/2007/12/15/foreach-und-c/#comments</comments>
		<pubDate>Sat, 15 Dec 2007 19:20:05 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/2007/12/15/foreach-und-c/</guid>
		<description><![CDATA[Irgendwie wurde ich nun schon zweimal innerhalb von wenigen Tagen auf die Problematik angesprochen, wie man in C++ Arrays andere Container durchlaufen kann. Die meisten Leute verweisen dann auf Sprachen wie C# oder PHP, wo das mittels der foreach Schleife ja auch wirklich sehr einfach geht. string&#91;&#93; strings = &#123;&#34;Foo&#34;, &#34;Bar&#34;, &#34;Foobar&#34;&#125;; foreach &#40;string s [...]]]></description>
			<content:encoded><![CDATA[<p>Irgendwie wurde ich nun schon zweimal innerhalb von wenigen Tagen auf die Problematik angesprochen, wie man in C++ Arrays andere Container durchlaufen kann. Die meisten Leute verweisen dann auf Sprachen wie C# oder PHP, wo das mittels der foreach Schleife ja auch wirklich sehr einfach geht.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> strings <span style="color: #008000;">=</span> <span style="color: #000000;">&#123;</span><span style="color: #666666;">&quot;Foo&quot;</span>, <span style="color: #666666;">&quot;Bar&quot;</span>, <span style="color: #666666;">&quot;Foobar&quot;</span><span style="color: #000000;">&#125;</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> s <span style="color: #0600FF;">in</span> strings<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
    Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span>s<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Der obige Quellcode in C# würde nun einfach das Array <em>strings</em> in der Konsole ausgeben. Wenn es nun an C++ geht, findet man bei vielen Leuten ungefähr den folgenden Code:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">std<span style="color: #008080;">::</span><span style="color: #007788;">string</span> strings<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #FF0000;">&quot;Foo&quot;</span>, <span style="color: #FF0000;">&quot;Bar&quot;</span>, <span style="color: #FF0000;">&quot;Foobar&quot;</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    std<span style="color: #008080;">::</span><span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> strings<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> std<span style="color: #008080;">::</span><span style="color: #007788;">endl</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Und jo, wenn man das auf die gezeigte Art und Weise macht, dann muss man leider weiterhin per Indexoperator auf die einzelnen Strings zugreifen. Aber mal im Ernst, Arrays sind doch <em>sehr</em> C <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>C++ kommt im Verbund mit der STL und die STL bietet einen Ausweg aus diesem Dilemma: Iteratoren. Per Iterator lässt sich eine foreach Schleife in C++ ungefähr so darstellen:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">typedef</span> std<span style="color: #008080;">::</span><span style="color: #007788;">vector</span><span style="color: #000080;">&lt;</span>std<span style="color: #008080;">::</span><span style="color: #007788;">string</span><span style="color: #000080;">&gt;</span> stringvector<span style="color: #008080;">;</span>
&nbsp;
stringvector strings<span style="color: #008080;">;</span>
strings.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Foo&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
strings.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Bar&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
strings.<span style="color: #007788;">push_back</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Foobar&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>stringvector<span style="color: #008080;">::</span><span style="color: #007788;">iterator</span> it <span style="color: #000080;">=</span> strings.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it <span style="color: #000040;">!</span><span style="color: #000080;">=</span> strings.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    std<span style="color: #008080;">::</span><span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #000040;">*</span>it <span style="color: #000080;">&lt;&lt;</span> std<span style="color: #008080;">::</span><span style="color: #007788;">endl</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Da es sich bei std::vector nicht um ein Sprachelement von C++ handelt, müssen wir ihn in diesem Fall mit der push_back Methode füllen, aber das ist sowieso realitätsnaher <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Spannender ist die for Schleife. Anstatt wie gewohnt einen integer zum Zählen zu benutzen, machen wir uns das Verhalten von Iteratoren zunutze. Diese lassen sich wie integer vergleichen und inkrementieren bzw. dekrementieren. Wir initialisieren unseren Iterator mit dem ersten Element unseres Vektors, prüfen in der Bedinung ob wir schon am Ende angelangt sind und inkrementieren den Iterator nach jedem Durchlauf.</p>
<p>Wichtig ist aber, dass man den Iterator, wenn man auf seinen Inhalt zugreifen möchte, mit dem * oder -> Operator dereferenzieren muss.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/12/15/foreach-und-c/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Index Operator überladen</title>
		<link>http://www.freak-und-informatiker.de/2007/09/15/index-operator-uberladen/</link>
		<comments>http://www.freak-und-informatiker.de/2007/09/15/index-operator-uberladen/#comments</comments>
		<pubDate>Sat, 15 Sep 2007 15:47:11 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.marcus.gurxite.de/2007/09/15/index-operator-uberladen/</guid>
		<description><![CDATA[Praktischerweise erlaubt es C# auch Operatoren zu überladen. Das geht meistens genau so wie in C++. Mit einer Ausnahme: Den Indexoperator [] überlädt man in C++ folgendermaßen: int operator &#91;&#93; &#40;const std::string&#38; s&#41; &#123; return &#40;this-&#62;GetSomeInt&#40;s&#41;&#41;; &#125; In C# ist der Syntax ein wenig anders: public int this&#91;string s&#93; &#123; get &#123; return &#40;GetSomeInt&#40;s&#41;; &#125; [...]]]></description>
			<content:encoded><![CDATA[<p>Praktischerweise erlaubt es C# auch Operatoren zu überladen. Das geht meistens genau so wie in C++. Mit einer Ausnahme: Den Indexoperator [] überlädt man in C++ folgendermaßen:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> operator <span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> std<span style="color: #008080;">::</span><span style="color: #007788;">string</span><span style="color: #000040;">&amp;</span> s<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span>this<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>GetSomeInt<span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>In C# ist der Syntax ein wenig anders:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">public</span> <span style="color: #FF0000;">int</span> <span style="color: #0600FF;">this</span><span style="color: #000000;">&#91;</span><span style="color: #FF0000;">string</span> s<span style="color: #000000;">&#93;</span>
<span style="color: #000000;">&#123;</span>
     get <span style="color: #000000;">&#123;</span> <span style="color: #0600FF;">return</span> <span style="color: #000000;">&#40;</span>GetSomeInt<span style="color: #000000;">&#40;</span>s<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span> <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Soo, von nun an muss ich nur noch ins Blog gucken wenn ich den &#8220;C# Weg&#8221; mal wieder vergessen haben sollte <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_rolleyes.gif' alt=':roll:' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/09/15/index-operator-uberladen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein paar mehr Links</title>
		<link>http://www.freak-und-informatiker.de/2007/08/22/ein-paar-mehr-links/</link>
		<comments>http://www.freak-und-informatiker.de/2007/08/22/ein-paar-mehr-links/#comments</comments>
		<pubDate>Wed, 22 Aug 2007 08:50:06 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Lustiges]]></category>
		<category><![CDATA[Spiele]]></category>

		<guid isPermaLink="false">http://marcus.gurxite.de/2007/08/22/ein-paar-mehr-links/</guid>
		<description><![CDATA[www.GreatFirewallOfChina.org Das China das Internet zensiert, dürfte wohl jedem klar sein. Mit dieser Seite könnt ihr testen, welche Seiten davon wohl betroffen sind. Bundestag.de zum Beispiel &#8230; Google integriert AdSense auch für Spiele Momentan zwar nur für Flashgames, man will aber später auch mit &#8220;echten&#8221; Spielen nachziehen. Tutorial zu Dateioperationen in C++ So würde ich [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://www.greatfirewallofchina.org/test/" target="_blank">www.GreatFirewallOfChina.org<br />
</a>Das China das Internet zensiert, dürfte wohl jedem klar sein. Mit dieser Seite könnt ihr testen, welche Seiten davon wohl betroffen sind. <a href="http://www.bundestag.de/" target="_blank">Bundestag.de</a> zum Beispiel &#8230;</li>
<li><a href="http://seattlepi.nwsource.com/business/324213_googleads19.html" target="_blank">Google integriert AdSense auch für Spiele</a><br />
Momentan zwar nur für Flashgames, man will aber später auch mit &#8220;echten&#8221; Spielen nachziehen.</li>
<li><a href="http://www.willemer.de/informatik/cpp/fileop.htm" target="_blank">Tutorial zu Dateioperationen in C++</a><br />
So würde ich es auch machen <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li><a href="http://www.moanmyip.com/" target="_blank">www.MoanMyIP.com</a><br />
Ohne Worte <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li><a href="http://csclub.uwaterloo.ca/media/C%2B%2B0x%20-%20An%20Overview.html" target="_blank">Ein Überblick über den kommenden C++ Standard</a><br />
Interview mit <a href="http://de.wikipedia.org/wiki/Bjarne_Stroustrup" target="_blank">Bjarne Stoustrup</a>.</li>
<li><a href="http://www.stern.de/unterhaltung/tv/:Engelke-Herbst-Zwei-Witzbolde-Bildblog/595825.html" target="_blank">Edit: Anke Engelke und Christoph Maria Herbst werben für BILDblog<br />
</a>Und das anscheinend ohne Kosten für die Bildblogger.<a href="http://www.stern.de/unterhaltung/tv/:Engelke-Herbst-Zwei-Witzbolde-Bildblog/595825.html" target="_blank"><br />
</a></li>
<li>Edit: Ein Blick hinter die Kulissen von Ms Paint</br><br />
<object height="350" width="425"><param name="movie" value="http://www.youtube.com/v/Hxx2KcPWWZg"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/Hxx2KcPWWZg" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"></embed></object></p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/08/22/ein-paar-mehr-links/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Spielen mit Boost</title>
		<link>http://www.freak-und-informatiker.de/2007/08/21/spielen-mit-boost/</link>
		<comments>http://www.freak-und-informatiker.de/2007/08/21/spielen-mit-boost/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 11:04:37 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://marcus.gurxite.de/2007/08/21/spielen-mit-boost/</guid>
		<description><![CDATA[Ich habe jetzt endlich angefangen mich mal deutlich näher mit Boost zu beschäftigen. In der STL fühle ich mich nun relativ wohl, wird also Zeit den nächsten Schritt zu tun. Mal gucken ob ich damit ein bisschen mehr Ordnung in meine &#8220;Librarysammlung&#8221; bringen kann &#8230; Boost.Signals oder Libsigc++ Wird primär ein Vergleich werden. Mal schauen [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe jetzt endlich angefangen mich mal deutlich näher mit <a href="http://www.boost.org/" target="_blank">Boost</a> zu beschäftigen. In der STL fühle ich mich nun relativ wohl, wird also Zeit den nächsten Schritt zu tun. Mal gucken ob ich damit ein bisschen mehr Ordnung in meine &#8220;Librarysammlung&#8221; bringen kann &#8230;</p>
<ol>
<li><a href="http://www.boost.org/doc/html/signals/tutorial.html" target="_blank">Boost.Signals</a> oder <a href="http://libsigc.sourceforge.net/" target="_blank">Libsigc++<br />
</a>Wird primär ein Vergleich werden. Mal schauen was mir am Ende besser zusagt. Wäre die Boost Variante &#8220;Header Only&#8221;, wüsste ich schon was ich nehmen würde. Das würde die Weitergabe so herrlich viel einfacher machen.</li>
<li><a href="http://www.boost.org/libs/random/index.html" target="_blank">Boost.Random</a> statt GX::Rand()<br />
Hehe, ich bin einfach faul ^^ Die Boost Variante schlägt meine Implementierung um Längen.</li>
<li><a href="http://www.boost.org/libs/python/doc/index.html" target="_blank">Boost.Python</a> statt <a href="http://www.lua.org/" target="_blank">Lua<br />
</a>Mit Python habe ich mich mittlerweile einfach mehr auseinander gesetzt. Abgesehen davon, dass ich den Lua Syntax einfach nicht mag.</li>
</ol>
<p>Ich tippe mal, dass sich das auch in starkem Umfang auf die GxLib auswirken wird. Aber erstmal geh ich spielen =)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/08/21/spielen-mit-boost/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ich bin C++</title>
		<link>http://www.freak-und-informatiker.de/2007/05/17/ich-bin-c/</link>
		<comments>http://www.freak-und-informatiker.de/2007/05/17/ich-bin-c/#comments</comments>
		<pubDate>Thu, 17 May 2007 14:08:32 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Lustiges]]></category>

		<guid isPermaLink="false">http://marcus.gurxite.de/2007/05/17/ich-bin-c/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><a href="http://www.bbspot.com/News/2006/08/language_quiz.php" target="_blank"><img src="http://www.bbspot.com/Images/News_Features/2006/08/language/cplusplus.jpg" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/05/17/ich-bin-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geva Test und Blogs</title>
		<link>http://www.freak-und-informatiker.de/2007/04/26/geva-test-und-blogs/</link>
		<comments>http://www.freak-und-informatiker.de/2007/04/26/geva-test-und-blogs/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 22:07:54 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://marcus.gurxite.de/2007/04/26/geva-test-und-blogs/</guid>
		<description><![CDATA[Ich habe keine Ahung wieso, aber seit dem Gevatestergebnis treibe ich mich ständig auf http://blogs.msdn.com/oldnewthing/ rum. Ein, zugegebenermaßen sehr nerdiger informatischer Blog. Ich schätze ich komme mit etwa einem drittel der &#8220;Informatischen Posts&#8221; zurande. Immerhin hab ich nun einen Gradmesser für meinen Fortschritt =) (Und einen neuen Blog in der Blogroll) Für &#8220;Nichttechies / NichtCppler&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe keine Ahung wieso, aber seit dem Gevatestergebnis treibe ich mich ständig auf <a href="http://blogs.msdn.com/oldnewthing/" class="linkification-ext" title="Linkification: http://blogs.msdn.com/oldnewthing/">http://blogs.msdn.com/oldnewthing/</a> rum. Ein, zugegebenermaßen <strong><em>sehr </em></strong><strike>nerdiger</strike> informatischer Blog. Ich schätze ich komme mit etwa einem drittel der &#8220;Informatischen Posts&#8221; zurande. Immerhin hab ich nun einen Gradmesser für meinen Fortschritt =) (Und einen neuen Blog in der Blogroll)</p>
<p>Für &#8220;Nichttechies / NichtCppler&#8221; (ja, das ist definitiv ein Unterschied) ist dieser Eintrag aber dennoch sehr spannend:<br />
<a href="http://blogs.msdn.com/oldnewthing/archive/2007/04/20/2199172.aspx" target="_blank"> The wisdom of seventh graders: Designing an elective course<br />
</a>Für alle die kein Bock auf die Übersetzung haben in etwa: &#8220;Die Weisheit von Siebtklässlern: Designe ein Wahlfach&#8221;. <a href="http://blogs.msdn.com/oldnewthing/archive/2007/04/20/2199172.aspx" class="linkification-ext" title="Linkification: http://blogs.msdn.com/oldnewthing/archive/2007/04/20/2199172.aspx"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/04/26/geva-test-und-blogs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein Cfg (Ini Style) Parser</title>
		<link>http://www.freak-und-informatiker.de/2007/04/16/ein-cfg-ini-style-parser/</link>
		<comments>http://www.freak-und-informatiker.de/2007/04/16/ein-cfg-ini-style-parser/#comments</comments>
		<pubDate>Mon, 16 Apr 2007 10:31:42 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[GurXite]]></category>

		<guid isPermaLink="false">http://marcus.gurxite.de/2007/04/16/ein-cfg-ini-style-parser/</guid>
		<description><![CDATA[Ich hab wieder richtig Spaß am Programmieren. Die Ergüsse häufen sich und sind eigentlich auch erwähnenswert aber zu unfertig um hier erwähnt zu werden. Anders schaut es da mit der kleinen GurXite Library aus. Und zwar funktioniert die bei Solvey implemenentierte Klasse. Nehmen wir an wir haben folgende Cfg Date. Relativ zur ausführenden Datei findet [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hab wieder richtig Spaß am Programmieren. Die Ergüsse häufen sich und sind eigentlich auch erwähnenswert aber zu unfertig um hier erwähnt zu werden. Anders schaut es da mit der kleinen <a href="http://lib.gurxite.de">GurXite Library</a> aus. Und zwar funktioniert <a href="http://marcus.gurxite.de/2007/04/15/mein-leben-ohne-rapunzel/">die bei Solvey</a> implemenentierte Klasse.</p>
<p>Nehmen wir an wir haben folgende Cfg Date. Relativ zur ausführenden Datei findet sie sich in <em>data/config.cfg</em></p>
<blockquote><p>[Sektion]<br />
eins=wert<br />
zwei=trakaka<br />
drei=dooof<br />
vier=lala<br />
fünf=burp<br />
sechs=lal</p></blockquote>
<p>Aus dieser möchten wir nun den Wert &#8220;drei&#8221; der Kategorie &#8220;Sektion&#8221; auslesen. Mit der GxLib ganz einfach.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> main <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
 GX<span style="color: #008080;">::</span><span style="color: #007788;">CfgFile</span> cfg<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;dataconfig.cfg&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 cfg.<span style="color: #007788;">parse</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 std<span style="color: #008080;">::</span><span style="color: #007788;">string</span> a <span style="color: #000080;">=</span> cfg<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">&quot;Sektion&quot;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #FF0000;">&quot;drei&quot;</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
 <span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Nun fehlt nur noch so unwichtiger Kleinkram wie vernünftiges Errorhandling, die Möglichkeit durch Sektionen oder Einträge zu iterieren, eine Anbindung an Gx::Root, Bugbusting &#8230; So gut wie fertig also *g* Aber die Basisfunktionalität steht und in der Handhabung wird sich nix ändern.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/04/16/ein-cfg-ini-style-parser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Das Problem mit lange laufenden Programmen &#8230;</title>
		<link>http://www.freak-und-informatiker.de/2007/03/15/das-problem-mit-lange-laufenden-programmen/</link>
		<comments>http://www.freak-und-informatiker.de/2007/03/15/das-problem-mit-lange-laufenden-programmen/#comments</comments>
		<pubDate>Thu, 15 Mar 2007 14:08:17 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Lustiges]]></category>

		<guid isPermaLink="false">http://marcus.gurxite.de/2007/03/15/das-problem-mit-lange-laufenden-programmen/</guid>
		<description><![CDATA[&#60;k2xl&#62; in 1998, i made a C++ program to calculate pi to a billion digits. &#60;k2xl&#62; i coded it on my laptop (pentium 2 i think) and then ran the program. &#60;k2xl&#62; the next day i got a new laptop but decided to keep the program running. &#60;k2xl&#62; it&#8217;s been over seven years now since [...]]]></description>
			<content:encoded><![CDATA[<p>&lt;k2xl&gt; in 1998, i made a C++ program to calculate pi to a billion digits.<br />
&lt;k2xl&gt; i coded it on my laptop (pentium 2 i think) and then ran the program.<br />
&lt;k2xl&gt; the next day i got a new laptop but decided to keep the program running.<br />
&lt;k2xl&gt; it&#8217;s been over seven years now since i ran it. and this morning it finished calculating.<br />
&lt;k2xl&gt; the output:<br />
&lt;k2xl&gt;      &#8221;THE VALUE OF PI TO THE BILLIONTH DIGIT IS = &#8221;<br />
&lt;k2xl&gt; mindblowing eh?<br />
&lt;k2xl&gt; i looked in the code of my program, and i found out that i forgot to output the value <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> .<em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2007/03/15/das-problem-mit-lange-laufenden-programmen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein bisschen Screen muss sein</title>
		<link>http://www.freak-und-informatiker.de/2006/12/23/ein-bisschen-screen-muss-sein/</link>
		<comments>http://www.freak-und-informatiker.de/2006/12/23/ein-bisschen-screen-muss-sein/#comments</comments>
		<pubDate>Sat, 23 Dec 2006 12:52:29 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://marcus.gurxite.de/2006/12/23/ein-bisschen-screen-muss-sein/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a title="GXRPG" class="imagelink" href="http://marcus.gurxite.de/wp-content/uploads/2006/12/screen_12232006_040352239.png" rel="lightbox[102]"><img alt="GXRPG" id="image103" src="http://marcus.gurxite.de/wp-content/uploads/2006/12/screen_12232006_040352239.thumbnail.png" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2006/12/23/ein-bisschen-screen-muss-sein/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

