<?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::array nach C-Array kopieren?]]></title><description><![CDATA[<p>Hallo,</p>
<p>Visual 2015 zeigt hier einen Fehler an. Diese Meldung könnte man zwar wohl in den Optionen abschalten, weiß aber nicht recht.</p>
<pre><code>std::array &lt;int, 4&gt; a = { 1,2,3,4 };

	//std::array &lt;int, 4&gt; b; //keine Meldung
	//int b[4]; //Meldung wg 'unsave'

	std::copy(std::begin(a), std::end(a), std::begin(b));
</code></pre>
<p>gcc beschwert sich nicht. Hatte mich schon gefreut, aber bringt ja nichts, wenn ein anderer Compiler Fehler meldet.</p>
<p>Da ich das C-Array für <code>WriteConsoleOutput()</code> benötige, kann ich ja schlecht auch ein std::array nehmen?</p>
<p>Kennt jemand eine weitere Kopiermethode für diesen Fall? (Außer eben mit</p>
<pre><code>for (std::size_t i=0; i&lt;a.size(); i++) b[i] = a.at(i);
</code></pre>
<p>)?<br />
Oder sollte ich mich in diesem Fall einfach damit zufrieden geben?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/336843/std-array-nach-c-array-kopieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 20:36:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/336843.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 19 Feb 2016 20:32:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::array nach C-Array kopieren? on Fri, 19 Feb 2016 20:32:00 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Visual 2015 zeigt hier einen Fehler an. Diese Meldung könnte man zwar wohl in den Optionen abschalten, weiß aber nicht recht.</p>
<pre><code>std::array &lt;int, 4&gt; a = { 1,2,3,4 };

	//std::array &lt;int, 4&gt; b; //keine Meldung
	//int b[4]; //Meldung wg 'unsave'

	std::copy(std::begin(a), std::end(a), std::begin(b));
</code></pre>
<p>gcc beschwert sich nicht. Hatte mich schon gefreut, aber bringt ja nichts, wenn ein anderer Compiler Fehler meldet.</p>
<p>Da ich das C-Array für <code>WriteConsoleOutput()</code> benötige, kann ich ja schlecht auch ein std::array nehmen?</p>
<p>Kennt jemand eine weitere Kopiermethode für diesen Fall? (Außer eben mit</p>
<pre><code>for (std::size_t i=0; i&lt;a.size(); i++) b[i] = a.at(i);
</code></pre>
<p>)?<br />
Oder sollte ich mich in diesem Fall einfach damit zufrieden geben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2487915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2487915</guid><dc:creator><![CDATA[zeropage]]></dc:creator><pubDate>Fri, 19 Feb 2016 20:32:00 GMT</pubDate></item><item><title><![CDATA[Reply to std::array nach C-Array kopieren? on Fri, 19 Feb 2016 20:36:17 GMT]]></title><description><![CDATA[<p>Was für eine Meldung bekommst du? Wir können dir nicht helfen, wenn du Ratespiele veranstaltest.</p>
<blockquote>
<p>Da ich das C-Array für <code>WriteConsoleOutput()</code> benötige, kann ich ja schlecht auch ein std::array nehmen?</p>
</blockquote>
<p>Doch, kannst du problemlos machen. std::array, std::vector und std::string (und noch ein paar andere) sind kompatibel zu klassischen C-Arrays. Mit der <code>data</code> -Methode kommst du an einen passenden Zeiger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2487916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2487916</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 19 Feb 2016 20:36:17 GMT</pubDate></item><item><title><![CDATA[Reply to std::array nach C-Array kopieren? on Fri, 19 Feb 2016 21:02:00 GMT]]></title><description><![CDATA[<p>Hups, habe schon mit gerechnet, das meine Frage wieder eine tieferes Übel zum Vorschein bringen wird <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>
<p>Die Fehlermeldung lautet</p>
<pre><code>Fehler	C4996	'std::_Copy_impl': Function call with parameters that may be unsafe - 
this call relies on the caller to check that the passed values are correct. 
To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. 
See documentation on how to use Visual C++ 'Checked Iterators'
</code></pre>
<p>Könntest Du das mit dem <code>data</code> näher erläutern? Dann könnte ich mir auch das Kopieren &quot;ersparen&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2487918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2487918</guid><dc:creator><![CDATA[zeropage]]></dc:creator><pubDate>Fri, 19 Feb 2016 21:02:00 GMT</pubDate></item><item><title><![CDATA[Reply to std::array nach C-Array kopieren? on Fri, 19 Feb 2016 21:12:54 GMT]]></title><description><![CDATA[<p>Hast du die &quot;Fehler&quot;meldung mal gelesen und verstanden?</p>
<p>Die data-Methode gibt dir halt einen Zeiger auf das erste Element des unterliegenden Arrays. Also ganz genau das, was du suchst:<br />
<a href="http://en.cppreference.com/w/cpp/container/array/data" rel="nofollow">http://en.cppreference.com/w/cpp/container/array/data</a><br />
<a href="http://www.cplusplus.com/reference/array/array/data/" rel="nofollow">http://www.cplusplus.com/reference/array/array/data/</a><br />
Gibt es, wie gesagt, auch für allerlei andere Container, bei denen das Sinn macht, falls ein std::array mal nicht passend sein sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2487919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2487919</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 19 Feb 2016 21:12:54 GMT</pubDate></item><item><title><![CDATA[Reply to std::array nach C-Array kopieren? on Fri, 19 Feb 2016 21:14:29 GMT]]></title><description><![CDATA[<p>Jupp sorry, hatte Sekunden, bevor Du geschrieben hast, selbst die betreffende Dokumentation gefunden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2487920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2487920</guid><dc:creator><![CDATA[zeropage]]></dc:creator><pubDate>Fri, 19 Feb 2016 21:14:29 GMT</pubDate></item><item><title><![CDATA[Reply to std::array nach C-Array kopieren? on Fri, 19 Feb 2016 21:41:53 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Hast du die &quot;Fehler&quot;meldung mal gelesen und verstanden?</p>
</blockquote>
<p>Was bedeutet die Fehlermeldung denn? So wie ich das verstanden habe, wird ohne diese Einstellung kein Fehler bei Überschreiten von array-Größen gemeldet?</p>
<blockquote>
<p>Wenn _SECURE_SCL als 0 definiert ist:</p>
<p>Alle Standarditeratoren sind nicht aktiviert (Iteratoren können über die Containergrenzen hinaus verschoben werden, was zu nicht definiertem Verhalten führt).</p>
</blockquote>
<p><a href="https://msdn.microsoft.com/de-de/library/aa985965.aspx?f=255&amp;MSPPError=-2147217396" rel="nofollow">https://msdn.microsoft.com/de-de/library/aa985965.aspx?f=255&amp;MSPPError=-2147217396</a></p>
<p>Bzw wenn das gar keine &quot;Fehler&quot;meldung ist, wieso kann das Ding gar nicht erst erstellt werden? Worstcaser gehts doch nicht mehr?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2487926</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2487926</guid><dc:creator><![CDATA[zeropage]]></dc:creator><pubDate>Fri, 19 Feb 2016 21:41:53 GMT</pubDate></item><item><title><![CDATA[Reply to std::array nach C-Array kopieren? on Fri, 19 Feb 2016 21:57:06 GMT]]></title><description><![CDATA[<p>Und warum mir dieser &quot;Fehler&quot; nicht wurscht sein kann, liegt einfach daran, das ein anderer User meinen Code so nicht in Visual 2015 ausführen kann.</p>
<p>Was soll ich dem dann erzählen? &quot;Hast Du Dir die &quot;Fehler&quot;Meldung nicht durchgelesen und verstanden?&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2487930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2487930</guid><dc:creator><![CDATA[zeropage]]></dc:creator><pubDate>Fri, 19 Feb 2016 21:57:06 GMT</pubDate></item><item><title><![CDATA[Reply to std::array nach C-Array kopieren? on Fri, 19 Feb 2016 22:28:05 GMT]]></title><description><![CDATA[<p>Diese checked Iterators Warnung wird bei mir immer sofort deaktiviert wenn sie denn in einem Projekt auftritt. Ob du das auch machst hängt davon ab ob du überhaupt checken Iterators verwenden willst und du dafür mit Microsoft spezifischen Erweiterungen arbeiten möchtest. Wenn nicht dann einfach Warnung deaktivieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2487933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2487933</guid><dc:creator><![CDATA[sebi707]]></dc:creator><pubDate>Fri, 19 Feb 2016 22:28:05 GMT</pubDate></item><item><title><![CDATA[Reply to std::array nach C-Array kopieren? on Fri, 19 Feb 2016 23:29:47 GMT]]></title><description><![CDATA[<p>@lemon03<br />
<code>C4996</code> ist ne Warning und kein Fehler.<br />
Verhindert also normalerweise nicht dass das Programm erstellt wird und dann auch funktioniert.</p>
<p>Wenn du die Warning nicht bekommen willst kannst du z.B. einfach <code>memcpy</code> verwenden. Oder auch wie sebi707 die Warning abdrehen. z.B. indem du genau das machst was in der Meldung beschrieben steht, also <code>_SCL_SECURE_NO_WARNINGS</code> definieren. z.B. einfach in den Projekteinstellungen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2487935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2487935</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 19 Feb 2016 23:29:47 GMT</pubDate></item><item><title><![CDATA[Reply to std::array nach C-Array kopieren? on Fri, 19 Feb 2016 23:30:25 GMT]]></title><description><![CDATA[<p>lemon03 schrieb:</p>
<blockquote>
<p>Bzw wenn das gar keine &quot;Fehler&quot;meldung ist, wieso kann das Ding gar nicht erst erstellt werden? Worstcaser gehts doch nicht mehr?</p>
</blockquote>
<p>/WX aktiviert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2487936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2487936</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Fri, 19 Feb 2016 23:30:25 GMT</pubDate></item><item><title><![CDATA[Reply to std::array nach C-Array kopieren? on Sat, 20 Feb 2016 08:19:02 GMT]]></title><description><![CDATA[<p>lemon03 schrieb:</p>
<blockquote>
<p>Und warum mir dieser &quot;Fehler&quot; nicht wurscht sein kann, liegt einfach daran, das ein anderer User meinen Code so nicht in Visual 2015 ausführen kann.</p>
<p>Was soll ich dem dann erzählen? &quot;Hast Du Dir die &quot;Fehler&quot;Meldung nicht durchgelesen und verstanden?&quot;?</p>
</blockquote>
<p>Ja, klar.<br />
Ich sehe erfreut, daß Du schnell dazulernst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2487952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2487952</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 20 Feb 2016 08:19:02 GMT</pubDate></item><item><title><![CDATA[Reply to std::array nach C-Array kopieren? on Sat, 20 Feb 2016 22:23:48 GMT]]></title><description><![CDATA[<p>Na ok. Da sich der Build bei mir nicht fortsetzen lies, dachte ich an eine schlimmere Geschichte. Muß ich nochmal schauen.</p>
<p>Aber wenn es tatsächlich kein Ding ist, dann danke für die Aufklärung <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/2488013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488013</guid><dc:creator><![CDATA[zeropage]]></dc:creator><pubDate>Sat, 20 Feb 2016 22:23:48 GMT</pubDate></item></channel></rss>