<?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 einlesen]]></title><description><![CDATA[<p>Guten Abend,<br />
ich habe eine kurze &amp; schmerzlose Frage an euch.<br />
Wie kann ich ein vector direkt initialisieren?</p>
<p>Laut dem Buch &quot;Der C++ Programmierer (2.Auflage)&quot; geht das so:</p>
<pre><code class="language-cpp">vector&lt;double&gt; einVektor = {1.1, 2.2, 3.3, 4.4, 5.5};
</code></pre>
<p>Das läuft aber nicht mit MS VStudio C++</p>
<p>Geht das nicht wie mit Arrays in C ?</p>
<pre><code class="language-cpp">double einVektor={1.1,2.2};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/298476/vector-einlesen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 19:46:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/298476.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Jan 2012 20:36:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vector einlesen on Fri, 20 Jan 2012 20:36:49 GMT]]></title><description><![CDATA[<p>Guten Abend,<br />
ich habe eine kurze &amp; schmerzlose Frage an euch.<br />
Wie kann ich ein vector direkt initialisieren?</p>
<p>Laut dem Buch &quot;Der C++ Programmierer (2.Auflage)&quot; geht das so:</p>
<pre><code class="language-cpp">vector&lt;double&gt; einVektor = {1.1, 2.2, 3.3, 4.4, 5.5};
</code></pre>
<p>Das läuft aber nicht mit MS VStudio C++</p>
<p>Geht das nicht wie mit Arrays in C ?</p>
<pre><code class="language-cpp">double einVektor={1.1,2.2};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2170651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170651</guid><dc:creator><![CDATA[Noobert]]></dc:creator><pubDate>Fri, 20 Jan 2012 20:36:49 GMT</pubDate></item><item><title><![CDATA[Reply to vector einlesen on Fri, 20 Jan 2012 21:13:02 GMT]]></title><description><![CDATA[<p>Klassenobjekte kann man meines Wissens nur mithilfe des Konstruktors initialisieren und std::vector bietet soweit ich weiß nur einen Konstruktor für die Größe des Vectors.</p>
<pre><code class="language-cpp">double einVektor[] ={1.1,2.2};
</code></pre>
<p>Müsste es übrigens Lauten <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2170676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170676</guid><dc:creator><![CDATA[Ich bin Matrix...]]></dc:creator><pubDate>Fri, 20 Jan 2012 21:13:02 GMT</pubDate></item><item><title><![CDATA[Reply to vector einlesen on Fri, 20 Jan 2012 21:16:37 GMT]]></title><description><![CDATA[<p>Noobert  schrieb:</p>
<blockquote>
<pre><code class="language-cpp">vector&lt;double&gt; einVektor = {1.1, 2.2, 3.3, 4.4, 5.5};
</code></pre>
</blockquote>
<p>In C++11 ist das vollkommen legal. Kp wie, ob oder wann das MS unterstützen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170678</guid><dc:creator><![CDATA[c++0x]]></dc:creator><pubDate>Fri, 20 Jan 2012 21:16:37 GMT</pubDate></item><item><title><![CDATA[Reply to vector einlesen on Fri, 20 Jan 2012 21:27:37 GMT]]></title><description><![CDATA[<p>Noobert schrieb:</p>
<blockquote>
<p>Guten Abend,<br />
ich habe eine kurze &amp; schmerzlose Frage an euch.<br />
Wie kann ich ein vector direkt initialisieren?</p>
<p>Laut dem Buch &quot;Der C++ Programmierer (2.Auflage)&quot; geht das so:</p>
<pre><code class="language-cpp">vector&lt;double&gt; einVektor = {1.1, 2.2, 3.3, 4.4, 5.5};
</code></pre>
</blockquote>
<p>Gibt's in dem Buch gar keinen Hinweis an der Stelle, dass diese Art der Initialisierung erst ab C++2011 funktioniert?</p>
<p>Ein Vektor bietet Dir aber zumindest einen Konstruktor, der zwei Iteratoren für eine Sequenz nimmt. Das lässt sich so ausnutzen:</p>
<pre><code class="language-cpp">template&lt;class T, int N&gt;
inline T* anfang(T(&amp;ar)[N]) {return ar;}
template&lt;class T, int N&gt;
inline T* ende(T(&amp;ar)[N]) {return ar+N;}

::

static const double dings[] = {1.1, 2.2};
vector&lt;double&gt; einVektor (anfang(dings),ende(dings));
</code></pre>
<p>anfang und ende sind hier nur zwei Hilfsfunktionen für die Größenbestimmung. Du kannst das natürlich auch so schreiben:</p>
<pre><code class="language-cpp">vector&lt;double&gt; einVektor (dings+0,dings+2);
</code></pre>
<p>wenn du weißt, dass es zwei Elemente sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170682</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 20 Jan 2012 21:27:37 GMT</pubDate></item><item><title><![CDATA[Reply to vector einlesen on Fri, 20 Jan 2012 21:27:54 GMT]]></title><description><![CDATA[<p>das interessiert mich auch.</p>
<pre><code class="language-cpp">vector&lt;double&gt; einVektor = {1.1,2.2,3.3}
</code></pre>
<p>geht bei mir auch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170683</guid><dc:creator><![CDATA[Bastiany]]></dc:creator><pubDate>Fri, 20 Jan 2012 21:27:54 GMT</pubDate></item><item><title><![CDATA[Reply to vector einlesen on Fri, 20 Jan 2012 21:37:37 GMT]]></title><description><![CDATA[<p>Wer lesen kann ist klar im Vorteil.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170689</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 20 Jan 2012 21:37:37 GMT</pubDate></item><item><title><![CDATA[Reply to vector einlesen on Fri, 20 Jan 2012 21:44:32 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">static const double dings[] = {1.1, 2.2, 3.3, 4.4, 5.5};
vector&lt;double&gt; einVektor (dings,dings+5);
</code></pre>
<p>versteh ich noch nicht so recht.<br />
einVektor(dings, dings+5) ... dabei steht dings doch als menge und dings+5 als double-wert.<br />
was genau bedeutet das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170691</guid><dc:creator><![CDATA[Bastiany]]></dc:creator><pubDate>Fri, 20 Jan 2012 21:44:32 GMT</pubDate></item><item><title><![CDATA[Reply to vector einlesen on Fri, 20 Jan 2012 21:57:26 GMT]]></title><description><![CDATA[<p>dings ist ein &quot;rohes Array&quot;.<br />
dings+0 ist die Adresse des ersten Elements<br />
dings+4 ist die Adresse des letzten Elements<br />
dings+5 ist die imaginäre Adresse des &quot;Elements hinter dem letzten&quot;.</p>
<p>dings[0]+5 ist 6.1 <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>
<p>Stichwort: &quot;array to pointer decay&quot;</p>
<p>Verwendest Du einen Ausdruck, der sich auf ein Array bezieht, an einer Stelle, wo ein Zeiger hinkönnte, dann wird automatisch die Adresse des ersten Elements eingesetzt. Das + hier ist dann &quot;Zeigerarithmetik&quot;.</p>
<p>Lustigerweise ist [] auch nicht auf Arrays sondern nur für Zeiger definiert und arr[index] ist in Wirklichkeit nur eine Abkürzung für *(arr+index) -- zumindest bei den &quot;normalen&quot; und keinen benutzerdefinierten Typen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170695</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 20 Jan 2012 21:57:26 GMT</pubDate></item></channel></rss>