<?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&amp;lt;bool&amp;gt;]]></title><description><![CDATA[<p>Hallo, bei der Deklaration dieses Vektors auf ein Problem gestoßen und zwa wenn der Wert für die Größe eine globale Konstante ist.</p>
<pre><code>using namespace std;

int main()
{	
	const int max = 50;
	vector &lt;bool&gt; prim(max);

	return 0;
}
</code></pre>
<p>So gibt es keinen Fehler</p>
<pre><code>using namespace std;

const int max = 50;
int main()
{	

	vector &lt;bool&gt; prim(max);

	return 0;
}
</code></pre>
<p>So kommt der Fehler: error: reference to ���max��� is ambiguous.</p>
<p>Die Such im Netz ergab, das es mit diesem using namespase std was zutun hat, also:</p>
<pre><code>const int max = 50;
int main()
{	

	std::vector &lt;bool&gt; prim(max);

	return 0;
}
</code></pre>
<p>Warum ist das so? Gibt es außerdem eine Möglichkeit alle Elemente des Vektors gleich auf true zu setzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/310685/vector-lt-bool-gt</link><generator>RSS for Node</generator><lastBuildDate>Tue, 04 Aug 2026 06:22:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/310685.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Nov 2012 09:42:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Sun, 18 Nov 2012 09:42:49 GMT]]></title><description><![CDATA[<p>Hallo, bei der Deklaration dieses Vektors auf ein Problem gestoßen und zwa wenn der Wert für die Größe eine globale Konstante ist.</p>
<pre><code>using namespace std;

int main()
{	
	const int max = 50;
	vector &lt;bool&gt; prim(max);

	return 0;
}
</code></pre>
<p>So gibt es keinen Fehler</p>
<pre><code>using namespace std;

const int max = 50;
int main()
{	

	vector &lt;bool&gt; prim(max);

	return 0;
}
</code></pre>
<p>So kommt der Fehler: error: reference to ���max��� is ambiguous.</p>
<p>Die Such im Netz ergab, das es mit diesem using namespase std was zutun hat, also:</p>
<pre><code>const int max = 50;
int main()
{	

	std::vector &lt;bool&gt; prim(max);

	return 0;
}
</code></pre>
<p>Warum ist das so? Gibt es außerdem eine Möglichkeit alle Elemente des Vektors gleich auf true zu setzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2271953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271953</guid><dc:creator><![CDATA[Namal]]></dc:creator><pubDate>Sun, 18 Nov 2012 09:42:49 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Sun, 18 Nov 2012 09:53:43 GMT]]></title><description><![CDATA[<p><code>max()</code> ist eine Funktion im Namensraum <code>std</code> . Wenn du <code>std</code> in den globalen Namensraum ausleerst, bekommst du in deinem Fall Namenskonflikte. <code>using namespace</code> sollte mit Bedacht verwendet werden (z.B. nie in Headerdateien).</p>
<p><code>std::vector</code> hat mehrere Konstruktoren, bei einem kannst du gleich einen Wert für alle Elemente angeben. Schau auf <a href="http://www.cppreference.com" rel="nofollow">www.cppreference.com</a> nach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2271954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2271954</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 18 Nov 2012 09:53:43 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Tue, 20 Nov 2012 12:05:50 GMT]]></title><description><![CDATA[<p>Ist es denn auch &quot;richtig&quot;, wenn ich dass immer so schreibe?</p>
<pre><code>void function (std::vector&lt;bool&gt; &amp;prim)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2272693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2272693</guid><dc:creator><![CDATA[Namal]]></dc:creator><pubDate>Tue, 20 Nov 2012 12:05:50 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Tue, 20 Nov 2012 12:16:21 GMT]]></title><description><![CDATA[<p>Falls sich das auf das std:: bezieht: Ja. Im Allgemeinen ist es eher weniger hilfreich, den gesamten std Namensraum aufzulösen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2272702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2272702</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 20 Nov 2012 12:16:21 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Tue, 20 Nov 2012 12:37:14 GMT]]></title><description><![CDATA[<p>es wird generell abgeraten vector&lt;bool&gt; zu verwenden.</p>
<p>Schau mal hier rein: <a href="http://www.gotw.ca/publications/N1211.pdf" rel="nofollow">http://www.gotw.ca/publications/N1211.pdf</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2272719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2272719</guid><dc:creator><![CDATA[aasdsad]]></dc:creator><pubDate>Tue, 20 Nov 2012 12:37:14 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Tue, 20 Nov 2012 12:39:47 GMT]]></title><description><![CDATA[<p>aasdsad schrieb:</p>
<blockquote>
<p>es wird generell abgeraten vector&lt;bool&gt; zu verwenden.</p>
<p>Schau mal hier rein: <a href="http://www.gotw.ca/publications/N1211.pdf" rel="nofollow">http://www.gotw.ca/publications/N1211.pdf</a></p>
</blockquote>
<p>Ich sehe wenige Gründe die gegen die Verwendung von vector&lt;bool&gt; sprechen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2272721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2272721</guid><dc:creator><![CDATA[Ethon_]]></dc:creator><pubDate>Tue, 20 Nov 2012 12:39:47 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Tue, 20 Nov 2012 12:46:41 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>max() ist eine Funktion im Namensraum std.</p>
</blockquote>
<p>Aber max ist doch eine Konstante, also ich verstehe jetzt nicht warum das so eine Auswirkung hat, ob ich es auserhalb von main festlege oder innerhalb.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2272723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2272723</guid><dc:creator><![CDATA[Namal]]></dc:creator><pubDate>Tue, 20 Nov 2012 12:46:41 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Tue, 20 Nov 2012 12:48:30 GMT]]></title><description><![CDATA[<p>Ethon_ schrieb:</p>
<blockquote>
<p>aasdsad schrieb:</p>
<blockquote>
<p>es wird generell abgeraten vector&lt;bool&gt; zu verwenden.</p>
<p>Schau mal hier rein: <a href="http://www.gotw.ca/publications/N1211.pdf" rel="nofollow">http://www.gotw.ca/publications/N1211.pdf</a></p>
</blockquote>
<p>Ich sehe wenige Gründe die gegen die Verwendung von vector&lt;bool&gt; sprechen.</p>
</blockquote>
<p>Ich zitiere aus Punkt 1: <em>&quot;Although the standard lists <code>vector&lt;bool&gt;</code> in Clause 23, <code>vector&lt;bool&gt;</code> is not a container and <code>vector&lt;bool&gt;::iterator</code> is not a random-access iterator (or even a forward or bidirectional iterator either, for that matter). This has already broken user code in the field in mysterious ways.&quot;</em></p>
<p>Da du nicht weißt wie der Code irgendwann mal von irgend jemandem verwendet wird, sollte der Programmierer in weiser voraussicht es (mMn= einfach sein lassen und lieber die im Dokument vorgeschlagenen Alternativen verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2272724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2272724</guid><dc:creator><![CDATA[aasdsad]]></dc:creator><pubDate>Tue, 20 Nov 2012 12:48:30 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Tue, 20 Nov 2012 12:50:39 GMT]]></title><description><![CDATA[<p>Namal schrieb:</p>
<blockquote>
<p>Aber max ist doch eine Konstante, also ich verstehe jetzt nicht warum das so eine Auswirkung hat, ob ich es auserhalb von main festlege oder innerhalb.</p>
</blockquote>
<p>Wenn du den std-Namensraum global deklarierst, dann ist es nicht eindeutig ob max eine Konstante oder die std::max()-Funktion (oder in dem Fall ein Zeiger auf diese Funktion) ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2272726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2272726</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Tue, 20 Nov 2012 12:50:39 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Tue, 20 Nov 2012 13:02:36 GMT]]></title><description><![CDATA[<p>Namal schrieb:</p>
<blockquote>
<p>Aber max ist doch eine Konstante, also ich verstehe jetzt nicht warum das so eine Auswirkung hat, ob ich es auserhalb von main festlege oder innerhalb.</p>
</blockquote>
<p>Die Standardbibliothek definiert ein Symbol std::max (Funktion). Mit using namespace std holst Du dieses Symbol in Deinen globalen Namensraum. Du definierst danach ein Symbol max (Konstante). Jetzt existieren zwei Symbole mit dem gleichen Namen im globalen Namensraum. Du könntest mit &quot;max&quot; also einen Funktionszeiger auf std::max oder Deine Konstante meinen.</p>
<p>Wenn die Konstante innerhalb von main definiert ist, wird sie der globalen Definition vorgezogen. Ausserhalb sind die Definitionen gleichberechtigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2272732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2272732</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 20 Nov 2012 13:02:36 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Wed, 21 Nov 2012 16:20:56 GMT]]></title><description><![CDATA[<p>warum verwendest du statt einem vector&lt;bool&gt; mit maximal 50 elementen<br />
nicht einfach ein long long (64 Bit) und benutzt nur die ersten 50 bit ??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2273128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2273128</guid><dc:creator><![CDATA[pepe75]]></dc:creator><pubDate>Wed, 21 Nov 2012 16:20:56 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Wed, 21 Nov 2012 16:32:27 GMT]]></title><description><![CDATA[<p>pepe75 schrieb:</p>
<blockquote>
<p>warum verwendest du statt einem vector&lt;bool&gt; mit maximal 50 elementen<br />
nicht einfach ein long long (64 Bit) und benutzt nur die ersten 50 bit ??</p>
</blockquote>
<p>Infwiefern wäre das besser als ein vector&lt;bool&gt; oder bitset? Das ist doch das gleiche, bloß dass man es umständlich selber macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2273133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2273133</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 21 Nov 2012 16:32:27 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Wed, 21 Nov 2012 19:39:07 GMT]]></title><description><![CDATA[<blockquote>
<p>warum verwendest du statt einem vector&lt;bool&gt; mit maximal 50 elementen<br />
nicht einfach ein long long (64 Bit) und benutzt nur die ersten 50 bit ??</p>
</blockquote>
<p>Es ist nicht gegeben, dass long long wirklich 64 Bit groß ist.</p>
<p>Außerdem implementiert vector&lt;bool&gt; genau das, es ist nicht etwa wirklich ein vector aus Elementen des Typs bool, sondern arrangiert den vector so, dass jedes Element wirklich nur 1 Bit verbraucht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2273186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2273186</guid><dc:creator><![CDATA[Der Tobi]]></dc:creator><pubDate>Wed, 21 Nov 2012 19:39:07 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;bool&amp;gt; on Thu, 22 Nov 2012 08:28:44 GMT]]></title><description><![CDATA[<p><code>std::vector&lt;bool&gt;</code> ist eine Optimierung -- eine, für die man einen hohen Preis zahlt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2273287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2273287</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 22 Nov 2012 08:28:44 GMT</pubDate></item></channel></rss>