<?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[Vector befüllen bei Deklaration?]]></title><description><![CDATA[<p>Huhu</p>
<p>Wie kann ich einem Vector bereits bei der Deklaration Elemente übergeben?<br />
In folgendem Zusammenhang:</p>
<pre><code class="language-cpp">struct Namensliste
{
    string Titel;
    vector&lt;string&gt; Liste;
}

Vorstand = { &quot;Vorstand&quot;, { &quot;Antje&quot;, &quot;Reiner&quot;, &quot;Jochen&quot; } /*???*/ };
Mitglieder = { &quot;Mitglieder&quot;, { &quot;Theo&quot;, &quot;Michael&quot;, &quot;Susan&quot;, &quot;Lisa&quot;, &quot;Balz&quot; } /*???*/ };
</code></pre>
<p>Dem Vector wird anschliessend nichts mehr hinzugefügt, aber enthält jenachdem eine unterschiedliche Anzahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/153353/vector-befüllen-bei-deklaration</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 08:23:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/153353.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 15 Jul 2006 14:31:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vector befüllen bei Deklaration? on Sat, 15 Jul 2006 14:31:45 GMT]]></title><description><![CDATA[<p>Huhu</p>
<p>Wie kann ich einem Vector bereits bei der Deklaration Elemente übergeben?<br />
In folgendem Zusammenhang:</p>
<pre><code class="language-cpp">struct Namensliste
{
    string Titel;
    vector&lt;string&gt; Liste;
}

Vorstand = { &quot;Vorstand&quot;, { &quot;Antje&quot;, &quot;Reiner&quot;, &quot;Jochen&quot; } /*???*/ };
Mitglieder = { &quot;Mitglieder&quot;, { &quot;Theo&quot;, &quot;Michael&quot;, &quot;Susan&quot;, &quot;Lisa&quot;, &quot;Balz&quot; } /*???*/ };
</code></pre>
<p>Dem Vector wird anschliessend nichts mehr hinzugefügt, aber enthält jenachdem eine unterschiedliche Anzahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1098236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1098236</guid><dc:creator><![CDATA[rEinerlei]]></dc:creator><pubDate>Sat, 15 Jul 2006 14:31:45 GMT</pubDate></item><item><title><![CDATA[Reply to Vector befüllen bei Deklaration? on Sat, 15 Jul 2006 15:06:48 GMT]]></title><description><![CDATA[<p>schau dich mal bei google nach <strong>boost::assign</strong> um, ist genau das, was du suchst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1098252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1098252</guid><dc:creator><![CDATA[_____antwort_]]></dc:creator><pubDate>Sat, 15 Jul 2006 15:06:48 GMT</pubDate></item><item><title><![CDATA[Reply to Vector befüllen bei Deklaration? on Sun, 16 Jul 2006 03:03:47 GMT]]></title><description><![CDATA[<p>Sehr interessant ist auch die Möglichkeit einem Container, wie der Vector aus der STL einer ist, Werte via Generator zuzuweisen. Die Werte werden durch ein Funktionsobjekt, welches der Funktion generate übergeben wurde, erzeugt.</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;iterator&gt;
#include &lt;vector&gt;
#include &lt;algorithm&gt;

using namespace std;

/*
 * Generator liefert die Werte der Funktion 2^n (2, 4, 8, 16, ...). Es
 * handelt sich um eine Struktur, dessen Instanzen (Funktionsobjecte)
 * der Funktion generate uebergeben werden
 */

struct gen_
{
  int n;

  gen_()
    : n(1) {}
  ~gen_() {}

  int operator()() {
    return n*=2;
  }
};

int main()
{
  /*
   * Leerer Container mit einer maximalen Kapazitaet von 5 Elementen
   * anlegen und ihn auf 5 Elemente vergroessern. Anschliessend werden
   * die Werte mit dem oben definierten Generator generiert. Hierzu
   * wird auf die Funktion generate der STL zugegriffen
   */
  vector&lt;int&gt; v;
  v.reserve(5);
  v.resize(5);
  generate(v.begin(), v.end(), gen_());

  /*
   * Werte via Streamiterator auf die Standardausgabe cout ausgeben
   */
  ostream_iterator&lt;int&gt; oi(cout, &quot; &quot;);
  copy(v.begin(), v.end(), oi);

  return EXIT_SUCCESS;
}
</code></pre>
<p>/edit: Habe gerade noch einmal auf die Frage geschaut; die Rede ist wie ausdrücklich gesagt worden ist von der initalisierung zum Zeitpunkt der Deklaration. Muss wohl an der Uhrzeit liegen ...</p>
<p>Dennoch finde ich das oben genannte Vorgehen sehr sinnvoll.</p>
<p>Ein guter Ansatz wäre auch die Metaprogrammierung, damit lässt sich soetwas mit sicherheit auch realisieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1098431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1098431</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 16 Jul 2006 03:03:47 GMT</pubDate></item><item><title><![CDATA[Reply to Vector befüllen bei Deklaration? on Sun, 16 Jul 2006 07:06:15 GMT]]></title><description><![CDATA[<p>rEinerlei schrieb:</p>
<blockquote>
<p>Huhu</p>
<p>Wie kann ich einem Vector bereits bei der Deklaration Elemente übergeben?<br />
In folgendem Zusammenhang:</p>
<pre><code class="language-cpp">struct Namensliste
{
    string Titel;
    vector&lt;string&gt; Liste;
}

Vorstand = { &quot;Vorstand&quot;, { &quot;Antje&quot;, &quot;Reiner&quot;, &quot;Jochen&quot; } /*???*/ };
Mitglieder = { &quot;Mitglieder&quot;, { &quot;Theo&quot;, &quot;Michael&quot;, &quot;Susan&quot;, &quot;Lisa&quot;, &quot;Balz&quot; } /*???*/ };
</code></pre>
<p>Dem Vector wird anschliessend nichts mehr hinzugefügt, aber enthält jenachdem eine unterschiedliche Anzahl.</p>
</blockquote>
<p>Deinem Vector wird anschliessend nichts mehr hinzugefügt und du willst<br />
bereits bei der Deklaration (die dann auch eine Definition ist) die<br />
Elemente übergeben. Wenn Du auf Vector verzichtest und dafür ein String-Array<br />
einsetzt kannst du komfortabel nach Deinen obigen Vorstellungen arbeiten.<br />
Die String-Klasse der STL reicht Dir als Werkzeug.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;
int main()
{
   string VorstandListe[] = {&quot;Vorstand&quot;, &quot;Antje&quot;, &quot;Reiner&quot;, &quot;Jochen&quot;}; 
   string MitgliederListe[] = {&quot;Mitglieder&quot;, &quot;Theo&quot;, &quot;Michael&quot;, &quot;Susan&quot;, &quot;Lisa&quot;, &quot;Balz&quot;};  

   for (int i = 0; i &lt; 4; i++)
      cout &lt;&lt; VorstandListe[i] &lt;&lt; &quot;  &quot;;
   cout &lt;&lt; endl;
   for (int i = 0; i &lt; 6; i++)
      cout &lt;&lt; MitgliederListe[i] &lt;&lt; &quot;  &quot;;
   cout &lt;&lt; endl &lt;&lt; endl;
}
</code></pre>
<p><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/1098434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1098434</guid><dc:creator><![CDATA[Helmut S.]]></dc:creator><pubDate>Sun, 16 Jul 2006 07:06:15 GMT</pubDate></item><item><title><![CDATA[Reply to Vector befüllen bei Deklaration? on Mon, 17 Jul 2006 11:38:52 GMT]]></title><description><![CDATA[<p>Danke mal erst.</p>
<p>Habs nun mit boost::assign gemacht. Funzt wundeba.<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/527">@Helmut</a><br />
Das dachte ich auch erst, ich will aber die Struktur so übergeben, wie oben beschrieben.<br />
@lucky_tux<br />
Hab das irgendwie nicht verstanden, was Du da generierst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Aber was hat es mit Metaprogrammieren auf sich? Was ist das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1099106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1099106</guid><dc:creator><![CDATA[rEinerlei]]></dc:creator><pubDate>Mon, 17 Jul 2006 11:38:52 GMT</pubDate></item><item><title><![CDATA[Reply to Vector befüllen bei Deklaration? on Mon, 17 Jul 2006 19:32:17 GMT]]></title><description><![CDATA[<p>Metaprogrammierung ist rein funktionaler Natur. Ein Metaprogramm ist ein Programm auf einer höheren Ebene als der C++-Quelltext. Anders gesagt ein Metaprogramm ist ein Programm das ein Programm beim Übersetzen modifiziert. Es gibt zum Beispiel die C++-Template-Metaprogrammierung und die Metaprogrammierung durch den Präprozessor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1099403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1099403</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 17 Jul 2006 19:32:17 GMT</pubDate></item><item><title><![CDATA[Reply to Vector befüllen bei Deklaration? on Mon, 17 Jul 2006 19:36:45 GMT]]></title><description><![CDATA[<p>lucky_tux schrieb:</p>
<blockquote>
<p>Metaprogrammierung ist rein funktionaler Natur.</p>
</blockquote>
<p>Nicht zwingend, oder?! C++(-Template!)-Metaprogrammierung ist deshalb rein funktional, weil man nur typedefs und statische Konstanten benutzen kann, welche beide &quot;final&quot; sind und alle &quot;Funktionen&quot; (vor allem deshalb) bei gleicher Eingabe immer das gleiche zurückliefern müssen. Es gibt auch Präprozessor-Metaprogrammierung, für die muss das nicht gelten, genausowenig für Metaprogrammierungsansätze in anderen Sprachen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1099409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1099409</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 17 Jul 2006 19:36:45 GMT</pubDate></item><item><title><![CDATA[Reply to Vector befüllen bei Deklaration? on Mon, 17 Jul 2006 20:25:55 GMT]]></title><description><![CDATA[<p>Du hast Recht. Habe nicht genau auf die Formulierung geachtet. Die Metaprogrammierung via Templates in C++ ist rein funktional.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1099427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1099427</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 17 Jul 2006 20:25:55 GMT</pubDate></item></channel></rss>