<?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[priority queue - template-parameter compare ???]]></title><description><![CDATA[<p>hi</p>
<p>ich will ne priority queue einrichten, habe aber verständnissprobleme beim compare parameter.<br />
da gibts ja den templateparameter Compare</p>
<pre><code class="language-cpp">priority_queue&lt;T, Sequence, Compare&gt;
</code></pre>
<p>und den parameter comp vom typ Compare im konstruktor</p>
<pre><code class="language-cpp">priority_queue(const Compare&amp; comp)
// oder
priority_queue(const value_type* first, 
               const value_type* last,
               const Compare&amp; comp)
</code></pre>
<p>was muss ich dem template als paramter geben, damit ich im konstruktor ein funktionsobjekt( blub() ) an comp übergeben kann?</p>
<p>ich checks grad echt nicht <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/topic/156941/priority-queue-template-parameter-compare</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 04:57:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/156941.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 21 Aug 2006 16:12:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to priority queue - template-parameter compare ??? on Mon, 21 Aug 2006 16:12:01 GMT]]></title><description><![CDATA[<p>hi</p>
<p>ich will ne priority queue einrichten, habe aber verständnissprobleme beim compare parameter.<br />
da gibts ja den templateparameter Compare</p>
<pre><code class="language-cpp">priority_queue&lt;T, Sequence, Compare&gt;
</code></pre>
<p>und den parameter comp vom typ Compare im konstruktor</p>
<pre><code class="language-cpp">priority_queue(const Compare&amp; comp)
// oder
priority_queue(const value_type* first, 
               const value_type* last,
               const Compare&amp; comp)
</code></pre>
<p>was muss ich dem template als paramter geben, damit ich im konstruktor ein funktionsobjekt( blub() ) an comp übergeben kann?</p>
<p>ich checks grad echt nicht <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/1121694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1121694</guid><dc:creator><![CDATA[chp]]></dc:creator><pubDate>Mon, 21 Aug 2006 16:12:01 GMT</pubDate></item><item><title><![CDATA[Reply to priority queue - template-parameter compare ??? on Mon, 21 Aug 2006 16:19:11 GMT]]></title><description><![CDATA[<p>T bitt erstetzen!</p>
<p>bool (<em>)(T const&amp;, T const&amp;)<br />
oder:<br />
typedef bool (funcpointer</em>)(T const&amp;, T const&amp;)</p>
<p>Keine Ahung obs so richtig war, musste mal testen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1121699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1121699</guid><dc:creator><![CDATA[Der wahre Kenner]]></dc:creator><pubDate>Mon, 21 Aug 2006 16:19:11 GMT</pubDate></item><item><title><![CDATA[Reply to priority queue - template-parameter compare ??? on Tue, 22 Aug 2006 09:18:27 GMT]]></title><description><![CDATA[<p>Und wenn du mit Functoren arbeiten willst, benötigst du etwa so etwas:</p>
<pre><code class="language-cpp">struct my_comp
{
  bool operator()(const T&amp; l, const T&amp; r) { return l&lt;r; }
};

priority_queue&lt;T,my_comp&gt; my_queue;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1122008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122008</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 22 Aug 2006 09:18:27 GMT</pubDate></item><item><title><![CDATA[Reply to priority queue - template-parameter compare ??? on Tue, 22 Aug 2006 14:19:29 GMT]]></title><description><![CDATA[<p>danke</p>
<pre><code class="language-cpp">template&lt; typename T &gt;
struct my_comp
{
  bool operator()(const T&amp; l, const T&amp; r) { return l&lt;r; }
};

priority_queue&lt;T, vector&lt;T&gt;, my_comp&lt;T&gt; &gt; my_queue( my_vector.begin(), my_vector.end(), my_comp() );
</code></pre>
<p>richtig so?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122188</guid><dc:creator><![CDATA[chp]]></dc:creator><pubDate>Tue, 22 Aug 2006 14:19:29 GMT</pubDate></item><item><title><![CDATA[Reply to priority queue - template-parameter compare ??? on Tue, 22 Aug 2006 15:04:03 GMT]]></title><description><![CDATA[<p>Probiers doch einfach aus...</p>
<p>Für die &quot;Standardvergleiche&quot; gibts bereits was aus der STL! Das wäre dann in deinem Fall std::less&lt;type&gt;()</p>
<p>Alle:<br />
negate&lt;T&gt;<br />
plus&lt;T&gt;<br />
minus&lt;T&gt;<br />
multiplies&lt;T&gt;<br />
divides&lt;T&gt;<br />
modulus&lt;T&gt;<br />
equal_to&lt;T&gt;<br />
not_equal_to&lt;T&gt;<br />
less[_equal]&lt;T&gt;<br />
greater[_equal]&lt;T&gt;<br />
logical_not/and/or&lt;T&gt;</p>
<p>Findest du im Header functional.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122227</guid><dc:creator><![CDATA[Thomas ** 0]]></dc:creator><pubDate>Tue, 22 Aug 2006 15:04:03 GMT</pubDate></item><item><title><![CDATA[Reply to priority queue - template-parameter compare ??? on Tue, 22 Aug 2006 16:02:15 GMT]]></title><description><![CDATA[<p>Thomas (: schrieb:</p>
<blockquote>
<p>Für die &quot;Standardvergleiche&quot; gibts bereits was aus der STL!</p>
</blockquote>
<p>Danke, aber das geht nicht. Das mit dem '&lt;' war nur ein Beispiel.<br />
Ich muss nach einem externen Kriterium sortieren.</p>
<p>Was ich machen will:<br />
Eine Klasse hat eine Liste mit Objekten und eine mit Werten(int). In einer Methode sollen nun die Objekte nach den Werten sortiert in eine priority queue gespeichert werden, und diese wird an den Aufrufer zurückgegeben. Der Aufrufer hat also keinen Zugriff mehr auf die Liste mit den Vergleichswerten.</p>
<p>Bleibt die Sortierung beim Kopieren erhalten, oder muss der Comparator immer verfügbar sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122256</guid><dc:creator><![CDATA[chp]]></dc:creator><pubDate>Tue, 22 Aug 2006 16:02:15 GMT</pubDate></item><item><title><![CDATA[Reply to priority queue - template-parameter compare ??? on Tue, 22 Aug 2006 17:26:59 GMT]]></title><description><![CDATA[<p>Ok erledigt, habs jetzt so gelöst:</p>
<pre><code class="language-cpp">struct weight_compare
{
	Map weight_;
	weight_compare( const Map&amp; weight ): weight_( weight ){}
	bool operator()( const int&amp; lhs, const int&amp; rhs )
	{
		return weight_[lhs] &gt; weight_[rhs];
	}
};

//... in der Klasse
		weight_compare comp_1( map_1 );
		priority_queue&lt; int, vector&lt;int&gt;, weight_compare &gt; pqueue_1( comp_1 );
		weight_compare comp_2( map_2 );
		priority_queue&lt; int, vector&lt;int&gt;, weight_compare &gt; pqueue_2( comp_2 );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1122325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122325</guid><dc:creator><![CDATA[chp]]></dc:creator><pubDate>Tue, 22 Aug 2006 17:26:59 GMT</pubDate></item><item><title><![CDATA[Reply to priority queue - template-parameter compare ??? on Thu, 24 Aug 2006 14:01:25 GMT]]></title><description><![CDATA[<p>Bleibt die Sortierung beim Kopieren erhalten, oder muss der Comparator immer verfügbar sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1123843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1123843</guid><dc:creator><![CDATA[Gute Frage]]></dc:creator><pubDate>Thu, 24 Aug 2006 14:01:25 GMT</pubDate></item><item><title><![CDATA[Reply to priority queue - template-parameter compare ??? on Mon, 28 Aug 2006 08:29:30 GMT]]></title><description><![CDATA[<p>Das Kriterium wird afaik kopiert (in dem Beispiel inklusive der gespeicherten Map).</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/31490">@chp</a>: Übrigens solltest du die &quot;Map weight_;&quot; als const setzen <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="😉"
    /> Die STL reagiert etwas allergisch darauf, wenn sich die Sortierbedingungen im Laufe der Arbeit ändern können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125915</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 28 Aug 2006 08:29:30 GMT</pubDate></item></channel></rss>