<?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 casting]]></title><description><![CDATA[<p>Hallo.<br />
Bin absoluter Programmierneuling und brauche eure Hilfe.<br />
Ich möchte einen String vektor (abc) in einen double vektor (abcDouble) &quot;konvertieren&quot;. Hat jemand eine idee, wie das funktionieren könnte? Was ich probiert habe ist folgendes:<br />
for (unsigned int i = 0; i != abc.size(); i++)<br />
{<br />
vector &lt;double&gt; abcDouble[i] = atof(abc[i].c_str());<br />
}</p>
<p>Da kommt immer der Fehler, dass i einen Konstantwert haben muss. Wäre nett, wenn mir jemand weiterhelfen könnte. Dankeschön!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/317625/vector-casting</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Jul 2026 14:21:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/317625.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 14 Jun 2013 18:45:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vector casting on Fri, 14 Jun 2013 18:45:11 GMT]]></title><description><![CDATA[<p>Hallo.<br />
Bin absoluter Programmierneuling und brauche eure Hilfe.<br />
Ich möchte einen String vektor (abc) in einen double vektor (abcDouble) &quot;konvertieren&quot;. Hat jemand eine idee, wie das funktionieren könnte? Was ich probiert habe ist folgendes:<br />
for (unsigned int i = 0; i != abc.size(); i++)<br />
{<br />
vector &lt;double&gt; abcDouble[i] = atof(abc[i].c_str());<br />
}</p>
<p>Da kommt immer der Fehler, dass i einen Konstantwert haben muss. Wäre nett, wenn mir jemand weiterhelfen könnte. Dankeschön!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331227</guid><dc:creator><![CDATA[lukasprogrammiert]]></dc:creator><pubDate>Fri, 14 Jun 2013 18:45:11 GMT</pubDate></item><item><title><![CDATA[Reply to vector casting on Fri, 14 Jun 2013 18:55:31 GMT]]></title><description><![CDATA[<p>In der Schleife das vector &lt;double&gt; weglassen.<br />
Willst ja den vector nicht immer wieder neu definieren, sondern nur benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331228</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 14 Jun 2013 18:55:31 GMT</pubDate></item><item><title><![CDATA[Reply to vector casting on Fri, 14 Jun 2013 19:46:32 GMT]]></title><description><![CDATA[<p>prima, danke dir!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331238</guid><dc:creator><![CDATA[lukasprogrammiert]]></dc:creator><pubDate>Fri, 14 Jun 2013 19:46:32 GMT</pubDate></item><item><title><![CDATA[Reply to vector casting on Fri, 14 Jun 2013 19:48:09 GMT]]></title><description><![CDATA[<p>Moin!<br />
Da Du als Anfänger schon mit <code>vector</code> hantierst, gehe ich von guten Lehrmaterialen bei Dir aus und mute ich Dir gleich noch ein bisschen mehr Elemente aus der Standardbibliothek zu.<br />
Jedenfalls wird Dich das nicht sofort überfordern <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="🙂"
    /><br />
Höchstens der Lambda Ausdruck wird Dich die Stirn runzeln lassen...</p>
<pre><code class="language-cpp">#include &lt;algorithm&gt;  // transform
#include &lt;string&gt;
#include &lt;vector&gt;

int main(){
  using namespace std;
  vector&lt;string&gt; abs{ &quot;-0.9&quot;,&quot;1.87&quot;,&quot;4e-8&quot;,&quot;.42&quot;,&quot;0.&quot; };
  vector&lt;double&gt; abcDouble( abs.size() );  // gleich auf die richtige Groesse bringen
  transform(begin(abs), end(abs), begin(abcDouble), [](const string&amp; s){
      return stod(s);  // atof für string
    });
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2331239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331239</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Fri, 14 Jun 2013 19:48:09 GMT</pubDate></item><item><title><![CDATA[Reply to vector casting on Fri, 14 Jun 2013 19:57:38 GMT]]></title><description><![CDATA[<pre><code>[](const string&amp; s){ 
      return stod(s);  // atof für string 
    }
</code></pre>
<p>Was spricht dagegen, <code>stod</code> einfach direkt zu übergeben? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331244</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Fri, 14 Jun 2013 19:57:38 GMT</pubDate></item><item><title><![CDATA[Reply to vector casting on Fri, 14 Jun 2013 20:09:00 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<pre><code>[](const string&amp; s){ 
      return stod(s);  // atof für string 
    }
</code></pre>
<p>Was spricht dagegen, <code>stod</code> einfach direkt zu übergeben? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Dass die Funktion überladen ist und einen zweiten Parameter hat?<br />
Mir schien das Lambda am übersichtlichsten.<br />
Oder übersehe ich was offensichtliches?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331245</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Fri, 14 Jun 2013 20:09:00 GMT</pubDate></item><item><title><![CDATA[Reply to vector casting on Fri, 14 Jun 2013 20:59:03 GMT]]></title><description><![CDATA[<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Sone schrieb:</p>
<blockquote>
<pre><code>[](const string&amp; s){ 
      return stod(s);  // atof für string 
    }
</code></pre>
<p>Was spricht dagegen, <code>stod</code> einfach direkt zu übergeben? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Dass die Funktion überladen ist und einen zweiten Parameter hat?<br />
Mir schien das Lambda am übersichtlichsten.<br />
Oder übersehe ich was offensichtliches?</p>
</blockquote>
<p>Ne, schon richtig so. (Habe nicht getestet)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331256</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Fri, 14 Jun 2013 20:59:03 GMT</pubDate></item><item><title><![CDATA[Reply to vector casting on Sat, 15 Jun 2013 05:19:12 GMT]]></title><description><![CDATA[<p>Hi.<br />
Danke für die schnellen Antworten gestern. So wie Furble Wurble das beschrieben hat funktioniert alles wunderbar, aber was bedeutet [] ? und const string&amp; s ist soweit ich das verstanden habe eine Adressvariable, oder? Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331289</guid><dc:creator><![CDATA[lukasprogrammiert]]></dc:creator><pubDate>Sat, 15 Jun 2013 05:19:12 GMT</pubDate></item><item><title><![CDATA[Reply to vector casting on Sat, 15 Jun 2013 06:30:49 GMT]]></title><description><![CDATA[<p>lukasprogrammiert schrieb:</p>
<blockquote>
<p>...aber was bedeutet [] ? und const string&amp; s ist soweit ich das verstanden habe eine Adressvariable, oder?</p>
</blockquote>
<p>Ersteres ist Teil der Syntax für einen Lambda Ausdruck. In die eckigen Klammern gehören die Inhalte, welche in den Scope der namenlosen Funktion wie übernommen werden sollen (in diesem Fall keine, die Funktion ist komplett eigenständig.)<br />
Zweiteres besagt, dass die Funktion für <strong>s</strong> die Referenz des übergebenen Wertes übernimmt, anstatt eine Kopie zu machen. Es ist ähnlich der Übergabe eines Pointers, aber die Schreibweise ist die eines Objektes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331291</guid><dc:creator><![CDATA[Youka]]></dc:creator><pubDate>Sat, 15 Jun 2013 06:30:49 GMT</pubDate></item><item><title><![CDATA[Reply to vector casting on Sat, 15 Jun 2013 09:42:30 GMT]]></title><description><![CDATA[<p>Schau in Deinen Unterlagen, was dort zum Thema Argumente von Funktionen steht. Wahrscheinlich findest Du die Kapiel/Stichworte &quot;<em>Übergabe per Wert</em>&quot; (eng. &quot;<em>pass by value</em>&quot;), und &quot;<em>Übergabe per Referenz</em>&quot; (eng. &quot;<em>pass by reference</em>&quot;). Dort wird erklärt, was <code>const string&amp;</code> bedeutet.</p>
<p>Den Lambda Ausdruck <code>[](){}</code> kannst Du Dir als Funktion(-sobjekt) vorstellen.<br />
Im großen und ganzen ist das so ähnlich wie folgende Variante des Programms</p>
<pre><code class="language-cpp">double string_to_double(const std::string&amp; s){
  return stod(s);
}

int main(){
  using namespace std;
  vector&lt;string&gt; abs{ &quot;-0.9&quot;,&quot;1.87&quot;,&quot;4e-8&quot;,&quot;.42&quot;,&quot;0.&quot; };
  vector&lt;double&gt; abcDouble( abs.size() );  // gleich auf die richtige Groesse bringen
  transform(begin(abs), end(abs), begin(abcDouble), string_to_double);
}
</code></pre>
<p>Vergleiche ich diese Variante mit der Lambda-Variante fällt auf, dass ich in Zeile 9 beim <code>transform()</code> nicht sehe, wie transformiert wird und dass ich mir einen Funktionsnamen aus den Rippen leiern muss, der jetzt irgendwo rumgeistert, obwohl ich den vielleicht nur für diese eine Transformation brauche.</p>
<p>Das ist ein Feature, das relativ neu in der Sprache ist und daher nicht in älterer Literatur behandelt wird. Aber z.B. hier <a href="http://msdn.microsoft.com/de-de/library/vstudio/dd293608.aspx" rel="nofollow">msdn.microsoft.com</a> wird es ausführlich beschrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2331307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2331307</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Sat, 15 Jun 2013 09:42:30 GMT</pubDate></item></channel></rss>