<?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[&amp;quot;With&amp;quot; in C++]]></title><description><![CDATA[<p>Nabend,<br />
kann mir jemand sagen, was das C++-Äquivalent zu einem VB-With-Block in C++ ist? &quot;With&quot; und &quot;C++&quot; geben nicht die besten Ergebnisse bei Google. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Und dann würde mich noch so am Rande interessieren was &quot;FAR&quot; in LONG FAR WINAPI WndProc (HWND , UINT , UINT , LONG); bedeutet.<br />
MfG<br />
Dr. Bernd</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/210162/quot-with-quot-in-c</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 11:38:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/210162.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 07 Apr 2008 20:50:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;With&amp;quot; in C++ on Mon, 07 Apr 2008 20:50:24 GMT]]></title><description><![CDATA[<p>Nabend,<br />
kann mir jemand sagen, was das C++-Äquivalent zu einem VB-With-Block in C++ ist? &quot;With&quot; und &quot;C++&quot; geben nicht die besten Ergebnisse bei Google. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Und dann würde mich noch so am Rande interessieren was &quot;FAR&quot; in LONG FAR WINAPI WndProc (HWND , UINT , UINT , LONG); bedeutet.<br />
MfG<br />
Dr. Bernd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1488233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1488233</guid><dc:creator><![CDATA[Dr. Bernd]]></dc:creator><pubDate>Mon, 07 Apr 2008 20:50:24 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;With&amp;quot; in C++ on Mon, 07 Apr 2008 22:23:02 GMT]]></title><description><![CDATA[<p>Ist nicht wirklich das Equivalent aber am ehesten noch using.</p>
<p>Am einfachsten machst du einfach einen lokalen Zeiger auf das was du brauchst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1488270</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1488270</guid><dc:creator><![CDATA[DaRpH]]></dc:creator><pubDate>Mon, 07 Apr 2008 22:23:02 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;With&amp;quot; in C++ on Mon, 07 Apr 2008 22:59:00 GMT]]></title><description><![CDATA[<p>With gibt es nicht und das FAR kommt aus 16 bit Zeiten. Heute kannst du es ruhig weglassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1488276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1488276</guid><dc:creator><![CDATA[Ben04]]></dc:creator><pubDate>Mon, 07 Apr 2008 22:59:00 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;With&amp;quot; in C++ on Tue, 08 Apr 2008 05:45:52 GMT]]></title><description><![CDATA[<p>Danke für eure Antworten, den lokalen Zeiger werd ich wohl mal ausprobieren. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1488297</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1488297</guid><dc:creator><![CDATA[Dr. Bernd]]></dc:creator><pubDate>Tue, 08 Apr 2008 05:45:52 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;With&amp;quot; in C++ on Tue, 08 Apr 2008 08:29:21 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>statt eines lokalen Zeigers kann man auch eine Referenz verwenden und durch ein wenig „Tricksen“ recht nahe an VBs 'With' herankommen:</p>
<pre><code class="language-cpp">struct ExampleStruct {
    string Name;
    unsigned int Age;
    enum { FEMALE, MALE, YESPLEASE } Sex;
};

int main() {
    ExampleStruct SecretAgent;
    // With
    { ExampleStruct&amp; _ = SecretAgent;
        _.Name = &quot;Austin Powers&quot;;
        _.Age = 30;
        _.Sex = YESPLEASE;
    }
}
</code></pre>
<p>Ob man sowas wirklich braucht, sei mal dahingestellt: Besser wäre es, einen vernünftigen Konstruktor zu schreiben. In VB6 ist das Konstrukt ja auch eher ein Workaround um die fehlende Möglichkeit, eigene Konstruktoren zu überladen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1488351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1488351</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 08 Apr 2008 08:29:21 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;With&amp;quot; in C++ on Tue, 08 Apr 2008 16:35:20 GMT]]></title><description><![CDATA[<p>Hmm, das klingt auch nicht schlecht. Sehe ich das richtig, dass die geschweifte Klammer sozusagen dafür sorgt, dass _ nur darin gültig ist, oder bedeutet das noch mehr?</p>
<p>Ich finde With vor allem bei Verschachtelungen mit For-Schleifen wesentlich übersichtlicher als z.B. Baum(i).Zweig(j).Blatt(k).Farbe schreiben zu müssen:</p>
<pre><code>For i = 1 To Wald.AnzahlBäume
    With Wald.Baum(i)
        For j = 1 To .AnzahlZweige
            With .Zweig(j)
                .Farbe = braun
                For k = 1 To .AnzahlBlätter
                    With .Blatt(k)
                        .Farbe = grün
                    End With
                Next k
            End With
        Next j
    End With
Next i
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1488636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1488636</guid><dc:creator><![CDATA[Dr. Bernd]]></dc:creator><pubDate>Tue, 08 Apr 2008 16:35:20 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;With&amp;quot; in C++ on Tue, 08 Apr 2008 16:42:44 GMT]]></title><description><![CDATA[<p>Was ist denn da dran übersichtlich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1488640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1488640</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 08 Apr 2008 16:42:44 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;With&amp;quot; in C++ on Tue, 08 Apr 2008 17:22:15 GMT]]></title><description><![CDATA[<p>Naja, das ist übersichtlicher als die Terme auszuschreiben, finde ich. Auf jeden Fall ist es weniger Arbeit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1488664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1488664</guid><dc:creator><![CDATA[Dr. Bernd]]></dc:creator><pubDate>Tue, 08 Apr 2008 17:22:15 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;With&amp;quot; in C++ on Tue, 08 Apr 2008 18:08:45 GMT]]></title><description><![CDATA[<p>Dr. Bernd schrieb:</p>
<blockquote>
<p>Naja, das ist übersichtlicher als die Terme auszuschreiben, finde ich. Auf jeden Fall ist es weniger Arbeit.</p>
</blockquote>
<p>Das bisschen Tipparbeit ist irrelevant, bei „Arbeit“ zählt der Wartungsaufwand. Und solch eine tiefe Verschachtelung ist definitiv schwer zu warten. Letztendlich ist das der Grund, aus dem ich kaum (bis gar nicht) mehr 'With' verwende: Die Verschachtelungsebene steigt, und das ist eigentlich nicht akzeptabel.</p>
<p>Dein Code benutzt drei vollkommen überflüssige Verschachtelungsebenen, das ist ein Luxus, den man sich normalerweise nicht leisten kann, zumal dazu in fast allen Situationen noch mindestens zwei weitere Ebenen kommen (Klasse + Methode). Das sind dann insgesamt acht (!!!) Verschachtelungsebenen. Üblicherweise wird als absolutes Maximum vier bis fünf empfohlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1488687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1488687</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 08 Apr 2008 18:08:45 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;With&amp;quot; in C++ on Tue, 08 Apr 2008 18:20:48 GMT]]></title><description><![CDATA[<p>Dr. Bernd schrieb:</p>
<blockquote>
<pre><code>For i = 1 To Wald.AnzahlBäume
    With Wald.Baum(i)
        For j = 1 To .AnzahlZweige
            With .Zweig(j)
                .Farbe = braun
                For k = 1 To .AnzahlBlätter
                    With .Blatt(k)
                        .Farbe = grün
                    End With
                Next k
            End With
        Next j
    End With
Next i
</code></pre>
</blockquote>
<p>Übersichtlicher ist das für mich auf keinen Fall, denn so muss ich mir erst alle Withs zusammensuchen, um festzustellen, an welcher Farbe ich grad überhaupt rumwurschtel. Dann doch lieber alles in einer Zeile.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1488696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1488696</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Tue, 08 Apr 2008 18:20:48 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;With&amp;quot; in C++ on Tue, 08 Apr 2008 18:28:11 GMT]]></title><description><![CDATA[<p>Okay, das sollte auch nur ein Beispiel sein, war wohl ein besonders schlecht gewähltes. Naja, ich werde in Zukunft mal drauf achten, die Ebenen klein zu halten. Mit with hat es sich ja sowieso ziemlich erledigt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Aber es würde mich ja doch noch interessieren, wofür</p>
<pre><code class="language-cpp">{ ExampleStruct&amp; _ = SecretAgent;
        _.Name = &quot;Austin Powers&quot;;
        _.Age = 30;
        _.Sex = YESPLEASE;
    }
</code></pre>
<p>hier die geschweifte Klammer war.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1488700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1488700</guid><dc:creator><![CDATA[Dr. Bernd]]></dc:creator><pubDate>Tue, 08 Apr 2008 18:28:11 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;With&amp;quot; in C++ on Tue, 08 Apr 2008 18:33:46 GMT]]></title><description><![CDATA[<p>Dr. Bernd schrieb:</p>
<blockquote>
<p>Okay, das sollte auch nur ein Beispiel sein, war wohl ein besonders schlecht gewähltes. Naja, ich werde in Zukunft mal drauf achten, die Ebenen klein zu halten. Mit with hat es sich ja sowieso ziemlich erledigt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Aber es würde mich ja doch noch interessieren, wofür</p>
<pre><code class="language-cpp">{ ExampleStruct&amp; _ = SecretAgent;
        _.Name = &quot;Austin Powers&quot;;
        _.Age = 30;
        _.Sex = YESPLEASE;
    }
</code></pre>
<p>hier die geschweifte Klammer war.</p>
</blockquote>
<p>Die geschweifte Klammer ist hier dafür da, den Gültigkeitsbereich des Bezeichnets '<em>' zu begrenzen. Nur innerhalb des Blocks ist '</em>' deklariert und gültig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1488706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1488706</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 08 Apr 2008 18:33:46 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;With&amp;quot; in C++ on Tue, 08 Apr 2008 18:36:53 GMT]]></title><description><![CDATA[<p>Super, dankeschön. Wieder was gelernt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1488708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1488708</guid><dc:creator><![CDATA[Dr. Bernd]]></dc:creator><pubDate>Tue, 08 Apr 2008 18:36:53 GMT</pubDate></item></channel></rss>