<?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[2d vector, mehrdimensional]]></title><description><![CDATA[<p>hallo</p>
<p>kann man einen vector auch 2d machen???</p>
<p>und wenn ja wie?</p>
<p>z.b. sowas wie</p>
<pre><code class="language-cpp">vector&lt;CString&gt;&lt;int&gt; vec;
</code></pre>
<p>dank im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/71256/2d-vector-mehrdimensional</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 10:12:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/71256.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Apr 2004 11:52:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 2d vector, mehrdimensional on Fri, 16 Apr 2004 11:52:02 GMT]]></title><description><![CDATA[<p>hallo</p>
<p>kann man einen vector auch 2d machen???</p>
<p>und wenn ja wie?</p>
<p>z.b. sowas wie</p>
<pre><code class="language-cpp">vector&lt;CString&gt;&lt;int&gt; vec;
</code></pre>
<p>dank im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/502621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/502621</guid><dc:creator><![CDATA[newkid]]></dc:creator><pubDate>Fri, 16 Apr 2004 11:52:02 GMT</pubDate></item><item><title><![CDATA[Reply to 2d vector, mehrdimensional on Fri, 16 Apr 2004 11:58:35 GMT]]></title><description><![CDATA[<blockquote>
<p>vector&lt;CString&gt;&lt;int&gt; vec;</p>
</blockquote>
<p>was solln das darstellen? Eine Liste von CStrings von denen jedern nen int-index hat? Falls ja, da nennt man map <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>oder suchst du so was (vector in vector):</p>
<pre><code class="language-cpp">std::vector&lt;std::vector&lt;CString&gt; &gt; vec;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/502628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/502628</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Fri, 16 Apr 2004 11:58:35 GMT</pubDate></item><item><title><![CDATA[Reply to 2d vector, mehrdimensional on Fri, 16 Apr 2004 12:14:42 GMT]]></title><description><![CDATA[<p>nun ich hab ein prob</p>
<p>ich habe eine struct</p>
<p>in dieser einen titel</p>
<p>dann kommen commandos rein ( welche ich trace )</p>
<p>so bis jetzt klappt das gut mit</p>
<pre><code class="language-cpp">struct Tracedata
{
	CString titel;
	vector&lt;CString&gt; command;

};
</code></pre>
<p>jezt kann aber ( optional ) eine usereingabe (keyboard z.b. ) erfolgen welche auch einen traffic ausloesst.</p>
<p>jezt muss ich zu einem halt:</p>
<p>speichern titel ( immer ! )<br />
dann die trace daten ( hier commandos bezeichnet )</p>
<p>oder</p>
<p>speichern titel ( immer ! )<br />
dann z.b. Press xyz<br />
und dann dafuer denn traffic</p>
<p>als schaubsp</p>
<p>titel 1<br />
press xyz<br />
0x00<br />
0xff<br />
0xaa<br />
press zxy<br />
0x44<br />
0xaa</p>
<p>und das andere bsl</p>
<p>titel 2<br />
0x11<br />
0xaa<br />
0xff</p>
<p>hmm wie mache ich das am besten</p>
<p>sprich ich muss einmal am schluss in meinem vec</p>
<p>alle titel durchgehen</p>
<p>wenn press enthaelt dann alle press durchgehen ( und die commandos vergleichen )</p>
<p>wenn nicht dann nur alle commandos vergleichen</p>
<p>ich habe einen &quot;muster&quot; vec mit z.b. 5 titeln<br />
dazu 3 mal den fall keine press sachen und 2 mal mit press sachen</p>
<p>dann trace ich und bekomme z.b.</p>
<p>einmal mit und einmal ohne press</p>
<p>jetzt muss ich vergleichen</p>
<p>den trace vec titel suchen mit dem muster trace vec</p>
<p>wenn gefunden dann entweder alle commandos verlgeichen<br />
oder wenn press vorhanden die suchen mit den commandos</p>
<p>-----</p>
<p>ist alles bissle konfus aber ich hoffe du weisst was ich in etwa meine.</p>
<p>deswegen wollte ich sowas haben wie</p>
<pre><code class="language-cpp">struct Tracedata
{
	CString titel;
         vector&lt;CString&gt; press;
	vector&lt;CString&gt; command;

};
</code></pre>
<p>das prob ist. ich weiss ja dann nicht das die ersten 3 commandos zu press[0] und die anderen 5 zu press[1] gehoeren.</p>
<p>deswegen wollte ich sowas machen wie</p>
<pre><code class="language-cpp">struct Tracedata
{
	CString titel;
	vector&lt;CString&gt;&lt;CString&gt; command;

};
</code></pre>
<p>oder soll ich linear suchen nach schluesselwoertern</p>
<p>z.b.</p>
<p>trace_vec[0].titel = &quot;erster test&quot;;<br />
trace_vec{0].command[0] = press1<br />
.... [1] = 0xaa<br />
0xff<br />
press2<br />
0x12<br />
0x44</p>
<p>und dann die press suchen und vergleichen bis naechsten. und wenn nicht dann einfach alle comands vergleichen.</p>
<p>denn ich muss wissen in welcher line fehler sind beim tracen. anhand eines muster traces</p>
<p>hab ihr tips</p>
<p>momentan hab ich titel und alle commandos in dem ersten struct</p>
<p>und wollte &quot;umfuellen&quot; im anderen mit 2d</p>
<p>dein std::vector&lt;std::vector&lt;CString&gt; &gt; vec;</p>
<p>verstehe ich nicht ganz. kannst mir das prinzip erklaeren. wie tue ich inti. und resizen dznamisch und so?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/502645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/502645</guid><dc:creator><![CDATA[newkid]]></dc:creator><pubDate>Fri, 16 Apr 2004 12:14:42 GMT</pubDate></item><item><title><![CDATA[Reply to 2d vector, mehrdimensional on Fri, 16 Apr 2004 12:34:05 GMT]]></title><description><![CDATA[<p>LOL <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="😃"
    /></p>
<p>brauchst mir nicht nen ganzen Roman schreiben.. <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="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>ich würde das so in die richtung machen:</p>
<pre><code class="language-cpp">typedef enum TRACE_DATA_TYPE {
    td_type_title, 
    td_type_command,
    td_type_press,
    td_type_traffic
}TRACE_DATA_TYPE;

typedef struct Tracedata_item {
    TRACE_DATA_TYPE type;
    CString value;
}Tracedata_item;

typedef struct Tracedata {
   std::vector&lt;Tracedata_item&gt; items;
}
</code></pre>
<p>jetzt kannst du dir dein Tracedata mit beliebigen daten vollstpofen <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>
<pre><code class="language-cpp">Tracedata_item tmp_item;
std::vector&lt;Tracedata&gt; vec;

Tracedata data1;
tmp_item.type = td_type_title;
tmp_item.value = &quot;bla&quot;;
data1.items.push_back(tmp_item); // das ist der title
tmp_item.type = td_type_command;
tmp_item.value = &quot;bla&quot;;
data1.items.push_back(tmp_item); // das ist das command
vec.push_back(data1); // und speichern

Tracedata data2;
tmp_item.type = td_type_title;
tmp_item.value = &quot;bla&quot;;
data2.items.push_back(tmp_item); // das ist der title
tmp_item.type = td_type_press;
tmp_item.value = &quot;bla&quot;;
data2.items.push_back(tmp_item); // das ist die taste
tmp_item.type = td_type_traffic;
tmp_item.value = &quot;bla&quot;;
data2.items.push_back(tmp_item); // das ist ... 1
tmp_item.type = td_type_traffic;
tmp_item.value = &quot;bla&quot;;
data2.items.push_back(tmp_item); // das ist ... 2
vec.push_back(data2); // und speichern

....
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/502664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/502664</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Fri, 16 Apr 2004 12:34:05 GMT</pubDate></item><item><title><![CDATA[Reply to 2d vector, mehrdimensional on Fri, 16 Apr 2004 12:43:42 GMT]]></title><description><![CDATA[<p>danke werd ich mir mal anschauen</p>
<p>nur hab ich ein prob das ich die dinger schon gemacht habe ( die speicherungen ) und war echt viel code weil ich nicht einfach reinspeichere sondern verglecihe ect. machen muss das es passt.</p>
<p>war viel arbeit</p>
<p>jetzt koennte ich ich ja deine lsg nehmen und dann meine vec struct deleten. und dann damit arbeiten. sieht bissle kommpl aus bei dir. hmmm</p>
<p>geht auch die lsg</p>
<p>was meinst dazu??</p>
<pre><code class="language-cpp">struct Tracedata
{
    CString titel;
    vector&lt;CString&gt; press;
    vector&lt;CString&gt; command;
    vector&lt;int&gt; count;

};
</code></pre>
<p>jetzt kann ich entweder</p>
<p>fall 1:</p>
<p>titel + commands haben und dann habe ich nur titel + commands</p>
<p>und wenn der vec press &gt; 0 ist dann weiss ich</p>
<p>zu press[0] gehoeren count[0] = 3 ; daten ( z.b. erste 3 werte von commandos )</p>
<p>und bei press[1] gehoeren bei count[1] = 5 die nachsten 5 elemente in commandos</p>
<p>wenn press == 0 dann geh ich nur die commandos zum titel durch</p>
<p>was meinste dazu?</p>
<p>1 fall: titel 1 und 10 commandos</p>
<p>2 fall: titel 1 und 10 commandos und 2 press und 2 counts</p>
<p>hmmmm</p>
<p>aber hab dank fuer deine arbeit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/502673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/502673</guid><dc:creator><![CDATA[newkid]]></dc:creator><pubDate>Fri, 16 Apr 2004 12:43:42 GMT</pubDate></item><item><title><![CDATA[Reply to 2d vector, mehrdimensional on Fri, 16 Apr 2004 12:49:46 GMT]]></title><description><![CDATA[<p>kannst du auch machen, wird das sicher fehleranfällig, da du da über 3 vectoren kreuz und quer schreiben/lesen/vergleichen musst.. irgendwo ein push_back vergessen und schon ist dein ganzer vector schrott..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/502678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/502678</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Fri, 16 Apr 2004 12:49:46 GMT</pubDate></item><item><title><![CDATA[Reply to 2d vector, mehrdimensional on Fri, 23 Apr 2004 08:55:05 GMT]]></title><description><![CDATA[<p>eine frage</p>
<p>warum geht das nicht</p>
<p>z.b.</p>
<pre><code class="language-cpp">struct Tracedata
{
	CString titel;
	vector&lt;CString&gt; command;

};

vector&lt;Tracedata&gt; m_trace_vec

// und dann im prog

m_trace_vec[pos].titel.push_back(str);

// oder

m_trace_vec[pos].command[index].push_back(str);
</code></pre>
<p>ich habs bis jezt immer so gemacht, dass ich ein resize ( ein element mehr ) gemacht habe und dann halt reingespeichert. ist aber nicht so toll die methode.</p>
<p>und bitte nur konstruktive beitreage( mal gespannt wer den satz gelesen hat ). merci im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/507197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/507197</guid><dc:creator><![CDATA[newkid]]></dc:creator><pubDate>Fri, 23 Apr 2004 08:55:05 GMT</pubDate></item><item><title><![CDATA[Reply to 2d vector, mehrdimensional on Fri, 23 Apr 2004 09:02:22 GMT]]></title><description><![CDATA[<blockquote>
<p>m_trace_vec[pos].titel.push_back(str);</p>
</blockquote>
<p>CString hat keine push_back Methode.</p>
<blockquote>
<p>m_trace_vec[pos].command[index].push_back(str);</p>
</blockquote>
<p>Und noch mal, CString hat keine push_back Methode. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>denke mal du willst so was machen:</p>
<pre><code class="language-cpp">Tracedata data;
data.title = str;
data.command.push_back(str);
m_trace_vec.push_back(data);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/507203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/507203</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Fri, 23 Apr 2004 09:02:22 GMT</pubDate></item><item><title><![CDATA[Reply to 2d vector, mehrdimensional on Fri, 23 Apr 2004 09:17:56 GMT]]></title><description><![CDATA[<p>jep genau so</p>
<p>aber das mit CString versteh ich nicht.</p>
<p>denn ich hab auch einmal</p>
<pre><code class="language-cpp">vector&lt;CString&gt; m_Testsuite_text;

//...
m_Testsuite_text.push_back(Strx);
</code></pre>
<p>das geht bei mir, ist aber CString. hmmm</p>
<p>jetzt werd ich wohl umaendern mussen und so machen wie du es gezeigt hast, da mit resize halt doch etwas fusch ist, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/507212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/507212</guid><dc:creator><![CDATA[newkid]]></dc:creator><pubDate>Fri, 23 Apr 2004 09:17:56 GMT</pubDate></item><item><title><![CDATA[Reply to 2d vector, mehrdimensional on Mon, 26 Apr 2004 12:53:45 GMT]]></title><description><![CDATA[<p>CMatt</p>
<p>einmal braucht ich dich noch</p>
<p>oder jemand anders wer es weiss</p>
<p>wie uebergebe ich einen vector? bei mit klappt das nicht</p>
<p>hier mein fall</p>
<pre><code class="language-cpp">// Tracedata ist ein String und ein weiterer String vector

int CRunDlg::delete_blanks(vector&lt;Tracedata&gt; *vec, int nr, int pos)
{
	for( int i = 0; i &lt; vec[nr].command[pos_com].GetLength(); i++)  // command ist not a member bla bla bla
	{		

		if( vec[nr].command[pos_com].Mid(i,1) == &quot; &quot; )
		{
			vec[nr].command[pos_com].Delete(i,1);

		}				
	}
          // er schlagt mir nicht bei vec[nr].  z.b das command vor
         // auch nicht bei vec[nr]-&gt;  hier schlaegt er mir auch nichts vor

	return 0;
}
</code></pre>
<p>wie mache ich das jetzt, einen vector uebergeben und dann sachen drin zu verandern? dank allem im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/509082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/509082</guid><dc:creator><![CDATA[newkid]]></dc:creator><pubDate>Mon, 26 Apr 2004 12:53:45 GMT</pubDate></item><item><title><![CDATA[Reply to 2d vector, mehrdimensional on Mon, 26 Apr 2004 12:59:37 GMT]]></title><description><![CDATA[<p>natuerlich hab ich die sachen geandert, mit</p>
<pre><code class="language-cpp">if( vec[nr].command[pos].Mid(i,1) == &quot; &quot; )
		{
			vec[nr].command[pos].Delete(i,1);

		}
</code></pre>
<p>nicht das einer denkt, dass es daran lag</p>
]]></description><link>https://www.c-plusplus.net/forum/post/509091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/509091</guid><dc:creator><![CDATA[newkid]]></dc:creator><pubDate>Mon, 26 Apr 2004 12:59:37 GMT</pubDate></item><item><title><![CDATA[Reply to 2d vector, mehrdimensional on Mon, 26 Apr 2004 14:27:43 GMT]]></title><description><![CDATA[<blockquote>
<p>int CRunDlg::delete_blanks(vector&lt;Tracedata&gt; *vec...</p>
</blockquote>
<p>Du übergibst hier nen Zeiger auf nen Vector, also die Addresse wo deine vector-klasse im Ram liegt. vec[nr] greift jetzt also auf den vector zu, der an der übergeben Adresse + sizeof(std::vector&lt;Tracedata&gt;)*nr liegt und da liegt mit ziehmlich sicherheit was, nur kein std::vector&lt;Tracedata&gt; ==&gt; crash.<br />
Möglichkeit 1:<br />
Übergib ne Referenz</p>
<pre><code class="language-cpp">int CRunDlg::delete_blanks(vector&lt;Tracedata&gt; &amp;vec, int nr, int pos)
</code></pre>
<p>Möglichkeit 2:<br />
Verwende den die at methode</p>
<pre><code class="language-cpp">vec-&gt;at(x)...
</code></pre>
<blockquote>
<p>aber das mit CString versteh ich nicht.</p>
</blockquote>
<pre><code class="language-cpp">vector&lt;CString&gt; m_Testsuite_text;

//...
m_Testsuite_text.push_back(Strx);
</code></pre>
<p>m_Testsuite_text ist eine Variable vom typ vector, die hat ne push_back methode.</p>
<pre><code class="language-cpp">vector&lt;Tracedata&gt; m_trace_vec
// und dann im prog
m_trace_vec[pos].titel.push_back(str);
</code></pre>
<p>m_trace_vec ist vom typ vector, dort verwendest du nen []oprator um auf ein element zuzugreifen, ist ok. Das im element greifst du nun auf titel zu, welches vom typ CString ist und willst push_back aufrufen -&gt; geht net, CString hat keine push_back methode.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/509202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/509202</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Mon, 26 Apr 2004 14:27:43 GMT</pubDate></item><item><title><![CDATA[Reply to 2d vector, mehrdimensional on Mon, 26 Apr 2004 14:57:21 GMT]]></title><description><![CDATA[<p>ja klar, es klappt</p>
<p>klar referenzen sollen immer besser sein anscheinend</p>
<p>ein buchstabe und dann so ne wirkung</p>
<p>merci merci</p>
<p>hab beschlossen, dass du mein lieblingsmember hier bist</p>
<p>jetzt checks ich es auch, danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/509229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/509229</guid><dc:creator><![CDATA[newkid]]></dc:creator><pubDate>Mon, 26 Apr 2004 14:57:21 GMT</pubDate></item></channel></rss>