<?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[Frage zu Vector]]></title><description><![CDATA[<p>Hi,</p>
<p>ich würde gerne wissen ob mir jemand die sache mit den Vectore'n erklären kann ich hab da was versucht komm aber nicht weiter.</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;iostream&gt; 
#include&lt;vector&gt;

using namespace std;

    class Point
    {
    private:
      double x;
      double y;
      double z;

    public:
      void Points(double newx,double newy,double newz) {newx = x, newy = y, newz = z; }

    };

  int main()
  {

  Point zeichen;

    std::vector&lt; Point &gt; zeichen;

	zeichen.push_back(Point(0, 1, 0));
	zeichen.push_back(Point(10,0,0));
	zeichen.push_back(Point(10,10,0));
	zeichen.push_back(Point(0,10,0));
    zeichen.push_back(Point(10,0,0));
	zeichen.push_back(Point(20,0,0));
    cout &lt;&lt; zeichen.size();

}
</code></pre>
<p>für Erklärung und Hilfe wäre ich sehr dankbar!<br />
Also erklären was fehlt und was flasch ist.</p>
<p>Gruß</p>
<p>GT</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/192174/frage-zu-vector</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 09:20:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/192174.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Sep 2007 12:38:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 12:52:22 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich würde gerne wissen ob mir jemand die sache mit den Vectore'n erklären kann ich hab da was versucht komm aber nicht weiter.</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;iostream&gt; 
#include&lt;vector&gt;

using namespace std;

    class Point
    {
    private:
      double x;
      double y;
      double z;

    public:
      void Points(double newx,double newy,double newz) {newx = x, newy = y, newz = z; }

    };

  int main()
  {

  Point zeichen;

    std::vector&lt; Point &gt; zeichen;

	zeichen.push_back(Point(0, 1, 0));
	zeichen.push_back(Point(10,0,0));
	zeichen.push_back(Point(10,10,0));
	zeichen.push_back(Point(0,10,0));
    zeichen.push_back(Point(10,0,0));
	zeichen.push_back(Point(20,0,0));
    cout &lt;&lt; zeichen.size();

}
</code></pre>
<p>für Erklärung und Hilfe wäre ich sehr dankbar!<br />
Also erklären was fehlt und was flasch ist.</p>
<p>Gruß</p>
<p>GT</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363281</guid><dc:creator><![CDATA[GT]]></dc:creator><pubDate>Tue, 11 Sep 2007 12:52:22 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 12:52:20 GMT]]></title><description><![CDATA[<p>GT schrieb:</p>
<blockquote>
<p>Hi,<br />
ich würde gerne wissen ob mir jemand die sache mit den Vectore'n erklären kann ich hab da was versucht komm aber nicht weiter.</p>
</blockquote>
<p>Wie wäre es mit einer Beschreibung was du nicht verstehst? Einerseits an einer 3D-Engine basteln und anderseits keine klare Frage stellen? <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>
<p>Ganz davon abgesehen das dein Code mit Sicherheit so nicht stimmt...</p>
<p>GT schrieb:</p>
<blockquote>
<pre><code class="language-cpp">...  
class Point
{
  private:
    double x;
    double y;
    double z;

  public:
   // Falsch: (Was soll das sein?)
   /*
   void Points(double newx,double newy,double newz) {newx = x, newy = y, newz = z; }
   */

   // Wenn du einen Konstruktor schreiben wolltest:
   // Entweder (über Initialisierungsliste)
   void Point(double newx,double newy,double newz)
   : x(newx),
     y(newy),
     z(newz)
   {}

   // Oder (ohne Initialisierungsliste)
   void Point(double newx,double newy,double newz)
   {
     x = newx;
     y = newy;
     z = newz;
   }
};
...
</code></pre>
<p>für Erklärung und Hilfe wäre ich sehr dankbar!</p>
</blockquote>
<p>Wie schon gesagt... Was willst du eigentlich nun wissen???</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363303</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 11 Sep 2007 12:52:20 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 12:54:25 GMT]]></title><description><![CDATA[<p>Sollen wir dir wirklich deinen eigenen Quelltext erklaeren? Du solltest schon selber wissen, warum du das geschrieben hast, oder?<br />
Obwohl, wenn ich mir deine Methode Points anschaue, scheinst du das nicht genau zu wissen. Du weist dort naemlich den nur in der Methode vorhandenen Parametervariablen jeweils einen Wert zu, und zwar einen Wert, der nie initialisiert worden ist. Denn fuer deine Klasse Point hast du nicht einen einzigen Konstruktor definiert, weshalb dir der Compiler auch die Konstruktoraufrufe bei jedem push_back um die Ohren pfeffern wird. Vermutlixh sollte Points() Point() heissen, also Tippfehler. Und dann bringt der Konstruktor herzlichst wenig, denn du initialisierst nicht die Member sondern veraenderst die Parameter, was ziemlich nutzlos ist, naemlich rein garnichts zur Folge hat. In deinen Membern x, y, und z steht danach naemlich nichts bestimmtes drin, einfach irgendein Zahlenwust, je nachdem wie der Compiler den Speicher so interpretiert, den er dafuer belegt hat.<br />
Abgesehen davon ist die Verwendung des Kommaoperators im Konstruktorrumpf nicht noetig und eher schlechter Stil, trenne lieber die einzelnen Befehle wie ueblich mit ; ab.</p>
<p>Hab ich dir deinen Code jetzt hinreichend erklaert? <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/1363305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363305</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 11 Sep 2007 12:54:25 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 12:56:26 GMT]]></title><description><![CDATA[<p>GT schrieb:</p>
<blockquote>
<p>...</p>
<pre><code class="language-cpp">Point zeichen;
  
    std::vector&lt; Point &gt; zeichen;
</code></pre>
<p>...</p>
</blockquote>
<p>Also DAS dürfte schonmal zu einem Compilefehler führen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
(Die erste Deklaration kann einfach weg)</p>
<p>Ansonsten:<br />
- ein &quot;Vektor&quot; ist in diesen Zusammenhang einfach &quot;eine Menge von&quot; (hier: Point) Objekten.<br />
- &quot;push_back()&quot; fügt dieser Menge ein weiteres Objekt hinzu.<br />
- size() gibt an, wie viele schon drin sind.</p>
<p>Edit: Ich &quot;dampfe&quot; Deinen Code mal auf das Wesentliche ein:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include&lt;vector&gt;

using namespace std;

struct Point {
   double x;
   double y;
   double z;
};

int main() {

   std::vector&lt; Point &gt; zeichen;

   zeichen.push_back(Point(0, 1, 0));
   zeichen.push_back(Point(10,0,0));
   zeichen.push_back(Point(10,10,0));
   zeichen.push_back(Point(0,10,0));
   zeichen.push_back(Point(10,0,0));
   zeichen.push_back(Point(20,0,0));
   cout &lt;&lt; zeichen.size();
}
</code></pre>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363307</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 11 Sep 2007 12:56:26 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 13:14:49 GMT]]></title><description><![CDATA[<p>Ok dann direkt.</p>
<p>Ich möchte Vectoren benutzen um die Anzahl der Werte einer schleife festzustellen. Und jetzt im Moment möchte ich einen Vector benutzen um Werte aufzulisten. Und jeder Wert soll 3 Zahlen haben. Die will ich dann in mehreren Schleifen zählen. Aber ich krieg das mit den ein Vector mit Wert und mehreren Zahlen noch nicht mal hin. Auf einen Wert mit einer Zahl ists einfach gewessen aber ich möchte ja einen Wert mit 3 zahlen Das ist im Moment das Problem.</p>
<p>@ pumuckl ich hab was gelesen und es versucht umzusetzen. Aber man sieht ja was dabei rausgekommen ist.</p>
<p>Aber du weist ja schon was ich möchte von vorherigen Problemen kannst du mir dann nicht auf irgendein schlichtes Beispiel zeigen wie ich einen Vector mache mit den drei werten so wie ichs wollt? also x y z?</p>
<p>Oder um direkt drauf zukommen wie ich es nutzen will.</p>
<pre><code class="language-cpp">myFile &lt;&lt; &quot;POLYGONS 612 2448\n&quot;;              

    for(x=1; x&lt;= (nloop_phi - 1) ; x++)
    {                   
            myFile &lt;&lt; 3 &lt;&lt; &quot; &quot; &lt;&lt; 0 &lt;&lt; &quot; &quot; &lt;&lt; x &lt;&lt; &quot; &quot; &lt;&lt;  x + 1 &lt;&lt; &quot;\n&quot;;
    }
            myFile &lt;&lt; 3 &lt;&lt; &quot; &quot; &lt;&lt; 0 &lt;&lt; &quot; &quot; &lt;&lt; nloop_phi  &lt;&lt; &quot; &quot; &lt;&lt; 1 &lt;&lt; &quot;\n&quot;;       

    for(x=1, y=(nloop_phi +1); x&lt;=(nloop_phi - 1)&amp;&amp;y&lt;=(nloop_phi * 2); x++, y++)
    {
            myFile &lt;&lt; 3 &lt;&lt; &quot; &quot; &lt;&lt; x &lt;&lt; &quot; &quot; &lt;&lt; y &lt;&lt; &quot; &quot; &lt;&lt; y + 1 &lt;&lt; std::endl &lt;&lt; 3 &lt;&lt; &quot; &quot; &lt;&lt; x &lt;&lt; &quot; &quot; &lt;&lt; x + 1 &lt;&lt; &quot; &quot; &lt;&lt; y + 1 &lt;&lt; std::endl; 
    }

            myFile &lt;&lt; 3 &lt;&lt; &quot; &quot; &lt;&lt; nloop_phi &lt;&lt; &quot; &quot; &lt;&lt; 1 &lt;&lt; &quot; &quot; &lt;&lt; (nloop_phi + 1) &lt;&lt; &quot;\n&quot;;
            myFile &lt;&lt; 3 &lt;&lt; &quot; &quot; &lt;&lt; nloop_phi &lt;&lt; &quot; &quot; &lt;&lt; (nloop_phi * 2) &lt;&lt; &quot; &quot; &lt;&lt; (nloop_phi + 1) &lt;&lt; &quot;\n&quot;; 

    for(x=(nloop_phi +1), y=(nloop_phi * 2); x&lt;=(nloop - (nloop_phi + 2))&amp;&amp;y&lt;=(nloop -4); x++, y++)
    {
            myFile &lt;&lt; 3 &lt;&lt; &quot; &quot; &lt;&lt; x &lt;&lt; &quot; &quot; &lt;&lt; y &lt;&lt; &quot; &quot; &lt;&lt; y + 1 &lt;&lt; std::endl &lt;&lt; 3 &lt;&lt; &quot; &quot; &lt;&lt; x &lt;&lt; &quot; &quot; &lt;&lt; x + 1 &lt;&lt; &quot; &quot; &lt;&lt; y + 1 &lt;&lt; std::endl;

    }

            myFile &lt;&lt; 3 &lt;&lt; &quot; &quot; &lt;&lt; (nloop - (nloop_phi + 2)) &lt;&lt; &quot; &quot; &lt;&lt; (nloop -3) &lt;&lt; &quot; &quot; &lt;&lt; (nloop - 2) &lt;&lt; &quot;\n&quot;;
            myFile &lt;&lt; 3 &lt;&lt; &quot; &quot; &lt;&lt; (nloop - (nloop_phi + 2)) &lt;&lt; &quot; &quot; &lt;&lt; (nloop - nloop_phi + 1) &lt;&lt; &quot; &quot; &lt;&lt; (nloop - 2) &lt;&lt; &quot;\n&quot;;

    for(x=(nloop - nloop_phi), y=(nloop - nloop_phi + 1); x&lt;=(nloop -3)&amp;&amp;y&lt;=(nloop - 2); x++, y++)
    {
         myFile &lt;&lt; 3 &lt;&lt; &quot; &quot; &lt;&lt; 307 &lt;&lt; &quot; &quot; &lt;&lt; x &lt;&lt; &quot; &quot; &lt;&lt; y &lt;&lt; &quot;\n&quot;;

    }

    myFile &lt;&lt; 3 &lt;&lt; &quot; &quot; &lt;&lt; (nloop - 1) &lt;&lt; &quot; &quot; &lt;&lt; (nloop - nloop_phi - 1) &lt;&lt; &quot; &quot; &lt;&lt; (nloop - nloop_phi) &lt;&lt; &quot;\n&quot;;
    myFile &lt;&lt; 3 &lt;&lt; &quot; &quot; &lt;&lt; (nloop - 1) &lt;&lt; &quot; &quot; &lt;&lt; (nloop - 2) &lt;&lt; &quot; &quot; &lt;&lt; (nloop - nloop_phi  - 1);
</code></pre>
<p>Ich möchte diese Schleifen in Vectoren haben und die POLYGONS 612 ist dann die anzahl der Werte in den Vectoren zusammen gezählt (oder halt ein Vector).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363312</guid><dc:creator><![CDATA[GT]]></dc:creator><pubDate>Tue, 11 Sep 2007 13:14:49 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 13:13:57 GMT]]></title><description><![CDATA[<p>GT schrieb:</p>
<blockquote>
<p>...<br />
Ich möchte Vectoren benutzen um die Anzahl der Werte einer schleife festzustellen...</p>
</blockquote>
<p>Eine &quot;Schleife hat Werte&quot; ? und die willst Du &quot;feststellen&quot; ? ...<br />
Sorry, das verwirrt mich noch mehr als das Vorherige.</p>
<p>Dein obiges Beispiel war doch schon nicht schlecht, wo &quot;hakt's&quot; denn ?<br />
Zeig dochmal (wie immer: Übersichtliches Minimalbeispiel, das den Fehler isoliert zeigt), was Du da mit &quot;der Schleife&quot; und &quot;den Werte&quot; machen möchtest unst was schiefläuft.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363334</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 11 Sep 2007 13:13:57 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 13:18:20 GMT]]></title><description><![CDATA[<p>Also</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include&lt;vector&gt;

using namespace std;

struct Point {
   double x;
   double y;
   double z;
};

int main() {

   std::vector&lt; Point &gt; zeichen;

   zeichen.push_back(Point(0, 1, 0));  &lt;--- hier geb ich doch Werte an
   zeichen.push_back(Point(10,0,0));
   zeichen.push_back(Point(10,10,0));
   zeichen.push_back(Point(0,10,0));
   zeichen.push_back(Point(10,0,0));
   zeichen.push_back(Point(20,0,0));
   cout &lt;&lt; zeichen.size();             &lt;----- und hier frag ich wieviele es insgesamt sind
}
</code></pre>
<p>Das Problem ist das ich zeichen.push_back(Point(0, 1, 0)); &lt;--- die 3 punkte<br />
nicht hinbekommen. Ich weis nicht wie ich es Anstelle das Der eine Wert dann die 3 Punkte hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363338</guid><dc:creator><![CDATA[GT]]></dc:creator><pubDate>Tue, 11 Sep 2007 13:18:20 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 13:28:38 GMT]]></title><description><![CDATA[<p>stimmt, denn du benutzt einen Konstruktor fuer Point, was auch sehr loeblich ist. Allerdings hast du so eien Konstruktor fuer Point hier nicht definiert. Und in deinem ersten Beispiel war sowas in der Richtugn zwar schon da, aber voellig verunglueckt. Der &quot;Methodenname&quot; muss gleich dem Klassennamen sein und die Wertzuweisung ging in die falsche Richtung. asc hat oben zwei Beispiele fuer einen Konstruktor geliefert, die in diesem Fall genau dasselbe machen. Wenn du einen von ihnen nutzt, wird dein Codeschnipsel vermutlich funktionieren.</p>
<p>Mir ergibt sich allerdings allmaehlich der Eindruck, dass du dir vielleicht noch einmal ein Buch ueber die Grundlagen der Programmierung in C++ und allgemeine Grundkonzepte der Programmierung durcharbeiten solltest (und wirklich durcharbeiten, nicht nur ueberfliegen), bevor du dich an sowas abgehobenes wie 3D-Grafiken heranmachst. Das wird dir in vieler Hinsicht ungemein weiterhelfen und dir auch den Wortschatz naeherbringen, der allgemein benutzt wird. Dadurch vermeidest du Missverstaendnisse, wie sie hier in letzter Zeit aufgetreten sind, weil du dich teils ungewohnt oder ungenau ausgedrueckt hast <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/1363347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363347</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 11 Sep 2007 13:28:38 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 13:41:22 GMT]]></title><description><![CDATA[<p>Hopps, da hatt ich noch einen Fehler drin:</p>
<pre><code class="language-cpp">// ...
struct Point {
   Point(double ix, double iy, double iz) : x(ix), y(iy), z(iz) {}
   double x;
   double y;
   double z;
};
// ...
</code></pre>
<p>Übrigens: &quot;bekomm' ich nicht hin&quot; ist definitiv weniger als Du weißt und uns sagen solltest.<br />
Wenn Dein Compiler einen Fehler meldet, solltest Du ihn<br />
a) lesen,<br />
b) versuchen, zu verstehen und<br />
c) hier mit angeben.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363356</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 11 Sep 2007 13:41:22 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 13:43:58 GMT]]></title><description><![CDATA[<p>GT schrieb:</p>
<blockquote>
<p>...<br />
Das Problem ist das ich zeichen.push_back(Point(0, 1, 0)); &lt;--- die 3 punkte<br />
nicht hinbekommen.</p>
</blockquote>
<p>Warum nicht? Hast du dazu mal bitte etwas wie eine aussagekräftige Fehlermeldung? (z.B. das was der Compiler dazu sagt)<br />
(Ganz davon abgesehen sind es nicht 3 Punkte sondern ein Punkt der sich aus drei Werten zusammensetzt; Nur damit man mal von der Beschreibung auf einen &quot;Punkt&quot; kommt ;P ).</p>
<p>GT schrieb:</p>
<blockquote>
<p>Ich weis nicht wie ich es Anstelle das Der eine Wert dann die 3 Punkte hat.</p>
</blockquote>
<p>Hat er das etwa nicht? Bzw. was hat der den dann bitte schön für Werte?</p>
<p>pumuckl schrieb:</p>
<blockquote>
<p>...vielleicht noch einmal ein Buch ueber die Grundlagen der Programmierung in C++ und allgemeine Grundkonzepte der Programmierung durcharbeiten...</p>
</blockquote>
<p>Damit kann ich mich nur anschließen.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363360</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 11 Sep 2007 13:43:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 13:46:50 GMT]]></title><description><![CDATA[<p>@ Simon2</p>
<p>Danke jetzt funktionierts wenigstens. Und Ich tue mir mit beschreiben ziehmlich schwer. Ich werde wohl absofort die Kompiler fehler schreiben. Und ich kriegs nicht hin ist wirklich eine schlechte beschreibung</p>
<p>@ pumuckl</p>
<p>Ja ich werde wohl das Übungsbuch nochmal sehr gut durchgehne. Aber trotzdem danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363363</guid><dc:creator><![CDATA[GT]]></dc:creator><pubDate>Tue, 11 Sep 2007 13:46:50 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 13:49:33 GMT]]></title><description><![CDATA[<p><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="👍"
    /> <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="👍"
    /><br />
Viel Vergnügen noch !</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363365</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 11 Sep 2007 13:49:33 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 14:01:55 GMT]]></title><description><![CDATA[<p>Das funktioniert jetzt so wies soll!</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include&lt;vector&gt;

using namespace std;

struct Point {
   Point(double ix, double iy, double iz) : x(ix), y(iy), z(iz) {}
   double x;
   double y;
   double z;
}; 

int main() {

   std::vector&lt; Point &gt; zeichen;

   zeichen.push_back(Point(10,0,0));
   zeichen.push_back(Point(10,10,0));
   zeichen.push_back(Point(0,10,0));
   zeichen.push_back(Point(10,0,0));
   zeichen.push_back(Point(20,0,0));
   zeichen.push_back(Point(30,0,0));

   for(int i=0; i&lt;= (zeichen.size()- 1); i++)
    {                   

  cout &lt;&lt;3 &lt;&lt;&quot; &quot; &lt;&lt;zeichen[i].x&lt;&lt; &quot; &quot;&lt;&lt;zeichen[i].y&lt;&lt; &quot; &quot;&lt;&lt;zeichen[i].z&lt;&lt; &quot;\n&quot;;

    }

   system(&quot;pause&quot;);

}
</code></pre>
<p>Ich habs jetzt nur noch mal geschrieben, weil ich für verbesserungen und Vorschläge sehr offen bin.</p>
<p>Also Danke nochmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363372</guid><dc:creator><![CDATA[GT]]></dc:creator><pubDate>Tue, 11 Sep 2007 14:01:55 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 14:30:52 GMT]]></title><description><![CDATA[<p>GT schrieb:</p>
<blockquote>
<p>Ich habs jetzt nur noch mal geschrieben, weil ich für verbesserungen und Vorschläge sehr offen bin.</p>
</blockquote>
<p>Vier kleine Anmerkung habe ich</p>
<pre><code class="language-cpp">for(int i=0; i&lt;= (zeichen.size()- 1); i++)
...
</code></pre>
<p>1. Statt i&lt;=(zeichen.size()- 1) würde ich i&lt;zeichen.size() schreiben.<br />
2. Ich würde hier den Funktionsaufruf in der Prüfung herausziehen. Da dieser bei jedem Durchgang aufgerufen wird.<br />
3. Ich würde, wenn es keine Verständnisprobleme mit sich bringt, statt i++ immer ++i vorziehen (Mag bei int relativ unbedeutend sein, bei großen Objekten kann es aber merkbare unterschiede geben, da hier ein temporäres Objekt gespart werden kann). Da es hier aber einzeln für sich steht sehe ich hier kein Problem.</p>
<pre><code class="language-cpp">int count = zeichen.size();
for(int i=0; i&lt;=count; ++i)
...
</code></pre>
<p>4. Für &quot;system(&quot;pause&quot;);&quot; gibt es besserer Alternativen (die zudem portabel wären). Schau mal in den FAQ-Bereich (irgendwas mit mein Programm beendet sich sofort).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363407</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 11 Sep 2007 14:30:52 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Vector on Tue, 11 Sep 2007 14:37:03 GMT]]></title><description><![CDATA[<p>GT schrieb:</p>
<blockquote>
<p>...ich für verbesserungen und Vorschläge sehr offen bin....</p>
</blockquote>
<p>Das ist eine gute Voraussetzung !!<br />
Deswegen nochmal eine Kleinigkeit:</p>
<pre><code class="language-cpp">for(size_t i=0; i&lt; zeichen.size(); ++i)
</code></pre>
<p>Das ist eine Art &quot;feststehendes Idiom&quot;, von dem ich nicht abrücken würde. Außerdem schützt size_t von &quot;underflow&quot;- und &quot;overflow&quot;-Problemen.</p>
<p>Falls Du sowieso &quot;alle Elemente&quot; meinst, kannst Du auch:</p>
<pre><code class="language-cpp">for(vector&lt;Point&gt;::const_iterator i=zeichen.begin(); i != zeichen.end(); ++i) {
      cout &lt;&lt;&quot; &quot; &lt;&lt;i-&gt;x&lt;&lt; &quot; &quot;&lt;&lt;i-&gt;y&lt;&lt; &quot; &quot;&lt;&lt;i-&gt;z&lt;&lt; &quot;\n&quot;;
   }
</code></pre>
<p>oder konkret für die Ausgabe:</p>
<pre><code class="language-cpp">// oben rein (operator&lt;&lt;() - damit kann man alle Ausgaben so machen wie mit &quot;eingebauten Typen&quot;):
ostream&amp; operator&lt;&lt;(Point const&amp; p, ostream&amp; out) {
   return out &lt;&lt;&quot; &quot; &lt;&lt; p.x &lt;&lt; &quot; &quot; &lt;&lt; p.y &lt;&lt; &quot; &quot;&lt;&lt; p.z;
}

// unten dann
   for(vector&lt;Point&gt;::const_iterator i=zeichen.begin(); i != zeichen.end(); ++i) {
      cout &lt;&lt; *i &lt;&lt; &quot;\n&quot;;
   }
</code></pre>
<p>... oder gar (setzt operator&lt;&lt;() von oben voraus) ..</p>
<pre><code class="language-cpp">// oben rein:
#include &lt;algorithm&gt;

// unten dann
   copy(zeichen.begin(), zeichen.end(), ostream_iterator&lt;Point&gt;(cout, &quot;\n&quot;));
</code></pre>
<p>Ach ja: Wenn Du einmal &quot;using namespace std;&quot; geschrieben hast, brauchst Du unten nie wieder &quot;std::&quot; zu schreiben - ist bisweilen praktisch, kann Dir aber später mal ins Gesäß beißen (z.B: wenn man's in einen Header schreibt).</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363408</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 11 Sep 2007 14:37:03 GMT</pubDate></item></channel></rss>