<?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[std::vector &amp;amp; for_each]]></title><description><![CDATA[<p>Ich habe eine Matrix und möchte dieser zur Laufzeit mit for_each vergrößern. Gedacht habe ich mir das wie folgt:</p>
<pre><code>vector&lt;vector&lt;int&gt;&gt; v(10,10);
...
for_each(v.begin(), v.end(), resize(20))
</code></pre>
<p>Am Ende soll eine 20x20 Matrix herauskommen, aber irgendwie habe ich noch nicht ganz durch schaut, was ich an for_each als dritten Parameter übergeben muss.</p>
<p>Vielleicht weiß jemand Rat.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/184418/std-vector-amp-for_each</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 17:10:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184418.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 15 Jun 2007 06:13:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::vector &amp;amp; for_each on Fri, 15 Jun 2007 06:13:37 GMT]]></title><description><![CDATA[<p>Ich habe eine Matrix und möchte dieser zur Laufzeit mit for_each vergrößern. Gedacht habe ich mir das wie folgt:</p>
<pre><code>vector&lt;vector&lt;int&gt;&gt; v(10,10);
...
for_each(v.begin(), v.end(), resize(20))
</code></pre>
<p>Am Ende soll eine 20x20 Matrix herauskommen, aber irgendwie habe ich noch nicht ganz durch schaut, was ich an for_each als dritten Parameter übergeben muss.</p>
<p>Vielleicht weiß jemand Rat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306217</guid><dc:creator><![CDATA[Turing]]></dc:creator><pubDate>Fri, 15 Jun 2007 06:13:37 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector &amp;amp; for_each on Fri, 15 Jun 2007 06:18:15 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">typedef std::vector&lt; int &gt; mat_column;
typedef std::vector&lt; mat_column &gt; matrix;

struct resize
	: public std::unary_function&lt; void, mat_column &gt;
{
	resize( std::size_t new_size )
		: size( new_size )
	{}

	void operator()( mat_column&amp; col ) const
	{
		col.resize( size );
	}

private:
	std::size_t size;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1306218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306218</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 15 Jun 2007 06:18:15 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector &amp;amp; for_each on Fri, 15 Jun 2007 06:33:56 GMT]]></title><description><![CDATA[<p>hey,</p>
<p>das klappt, vielen Dank.</p>
<p>Ist es auch möglich, das als Argument für for_each zu formulieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306231</guid><dc:creator><![CDATA[Turing]]></dc:creator><pubDate>Fri, 15 Jun 2007 06:33:56 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector &amp;amp; for_each on Fri, 15 Jun 2007 06:37:30 GMT]]></title><description><![CDATA[<p>So?</p>
<pre><code class="language-cpp">for_each(v.begin(), v.end(), resize(20))
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1306232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306232</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 15 Jun 2007 06:37:30 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector &amp;amp; for_each on Fri, 15 Jun 2007 06:43:43 GMT]]></title><description><![CDATA[<p>ich meine, du hast sozusagen etwas gebaut, was mir ermöglicht, den Code so wie im ersten Beitrag aufzurufen.</p>
<p>Ich hatte aber an so etwas wie</p>
<pre><code>for_each(v.begin(), v.end(), ???)
</code></pre>
<p>gedacht, dass das Beschriebene leistet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306236</guid><dc:creator><![CDATA[Turing]]></dc:creator><pubDate>Fri, 15 Jun 2007 06:43:43 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector &amp;amp; for_each on Fri, 15 Jun 2007 06:46:35 GMT]]></title><description><![CDATA[<p>Du meinst, ohne den Funktor?</p>
<pre><code class="language-cpp">for_each(v.begin(), v.end(), bind2nd( mem_fun_ref&lt;void, vector&lt;int&gt; &gt;( &amp;vector&lt;int&gt;::resize ), 20 ) );
</code></pre>
<p>Mit boost geht das vermutlich schöner.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306238</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 15 Jun 2007 06:46:35 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector &amp;amp; for_each on Fri, 15 Jun 2007 06:49:31 GMT]]></title><description><![CDATA[<p>Ungetestet:</p>
<pre><code class="language-cpp">for_each(v.begin(), v.end(), bind2nd(mem_fun_ref(&amp;vector&lt;...&gt;::resize), 20));
</code></pre>
<p>EDIT4MFK <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="😉"
    /><br />
Mit boost:</p>
<pre><code class="language-cpp">for_each(v.begin(), v.end(), bind(&amp;vector&lt;...&gt;::resize, _1, 20));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1306240</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306240</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 15 Jun 2007 06:49:31 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector &amp;amp; for_each on Fri, 15 Jun 2007 07:01:01 GMT]]></title><description><![CDATA[<p>Genau so habe ich mir das gedacht. Nur habe ich nicht den Parameter void bei mem_fun_ref angegeben. Was hat der zu bedeuten?</p>
<p>Folgendes geht wieder schief:</p>
<pre><code>vector&lt;vector&lt;bool&gt;&gt; v(10,10); 
for_each(v.begin(), v.end(), bind2nd( mem_fun_ref&lt;void, vector&lt;bool&gt; &gt;( &amp;vector&lt;bool&gt;::resize ), 20 ) );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1306254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306254</guid><dc:creator><![CDATA[Turing]]></dc:creator><pubDate>Fri, 15 Jun 2007 07:01:01 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector &amp;amp; for_each on Fri, 15 Jun 2007 07:02:13 GMT]]></title><description><![CDATA[<p>Siehe: <a href="http://www.sgi.com/tech/stl/mem_fun_ref_t.html" rel="nofollow">http://www.sgi.com/tech/stl/mem_fun_ref_t.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306257</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 15 Jun 2007 07:02:13 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector &amp;amp; for_each on Fri, 15 Jun 2007 07:11:05 GMT]]></title><description><![CDATA[<p>Turing schrieb:</p>
<blockquote>
<p>Genau so habe ich mir das gedacht. Nur habe ich nicht den Parameter void bei mem_fun_ref angegeben. Was hat der zu bedeuten?</p>
</blockquote>
<p>Die template-Parameter bei mem_fun_ref (siehe mein Beispiel) brauchen eigentlich auch garnicht angegeben zu werden, da sie bei Template-Funktionen hergeleitet werden können.</p>
<blockquote>
<p>Folgendes geht wieder schief:</p>
</blockquote>
<p>vector&lt;bool&gt; ist ein Spezialfall, leider weiss ich gerade auch keinen Workaround.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306264</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 15 Jun 2007 07:11:05 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector &amp;amp; for_each on Fri, 15 Jun 2007 07:24:46 GMT]]></title><description><![CDATA[<blockquote>
<p>vector&lt;bool&gt; ist ein Spezialfall, leider weiss ich gerade auch keinen Workaround.</p>
</blockquote>
<p>...dann weiß ich ja jetzt, warum meine ursprüngliche Version nicht funktioniert<br />
hat.</p>
<p>Habe den Typ von bool auf int abgeändert, intern wird es vermutlich sowieso mindestens als int abgelegt, und folgende Version verwendet:</p>
<pre><code>for_each(v.begin(), v.end(), bind2nd(mem_fun_ref(&amp;vector&lt;int&gt;::resize), 20));
</code></pre>
<p>Vielen Dank. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306268</guid><dc:creator><![CDATA[Turing]]></dc:creator><pubDate>Fri, 15 Jun 2007 07:24:46 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector &amp;amp; for_each on Fri, 15 Jun 2007 08:23:53 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Die template-Parameter bei mem_fun_ref (siehe mein Beispiel) brauchen eigentlich auch garnicht angegeben zu werden, da sie bei Template-Funktionen hergeleitet werden können.</p>
</blockquote>
<p>Genau dafür ist die Funktion da, damit man diesen Hickhack mit mem_fun_ref**_t** nicht hat <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/1306325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306325</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Fri, 15 Jun 2007 08:23:53 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector &amp;amp; for_each on Fri, 15 Jun 2007 11:39:28 GMT]]></title><description><![CDATA[<p>eine vor-schleife ist viel leichterer zu ferstehen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306475</guid><dc:creator><![CDATA[meinung__]]></dc:creator><pubDate>Fri, 15 Jun 2007 11:39:28 GMT</pubDate></item></channel></rss>