<?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[Kann ich das so deklarieren?]]></title><description><![CDATA[<p>Hallo Ihr,</p>
<p>hm, ich habe eine klasse in der ich folgendes deklarieren möchte:</p>
<pre><code>class DataReader
{
	protected:
		double  totalExtendFile, segmentLength, totalNoSegments, t_0, t_n,
				byteOffset;

		int		noSensors;

		int readSensors[noSensors];

		char	fileName;

};
</code></pre>
<p>Die Klasse soll Daten aus einem Binary-File lesen und benötigt dazu diese Parameter. Meine Frage bezieht sich auf den Teil:</p>
<pre><code>int noSensors;

      bool readSensors[noSensors];
</code></pre>
<p>noSensors gibt mir die Anzahl mir die Anzahl aller Meßpunkte in meinem Datenfile an. readSensors ist ein Vektor der genauso viele Felder haben soll wie es Meßpukte gibt. Er soll alle Meßpunkte enthalten die tatsächlich gelesen werden sollen.</p>
<p>Zum Beispiel:<br />
noSensors = 4 //es gibt insgesamt 4 Meßpunkte<br />
readSensors = [0,0,1,1] //es soll der 3. und der 4. Messpunkt gelesen werden</p>
<p>Hm, wo ich das hier gerade so aufschreibe, frage ich mich, warum ich dann nicht einfach so was mache<br />
int readSensors[?]<br />
readSensors = [3,4]<br />
Das ? ist also das Problem, da ich ja nicht vorher weiß, wieviele Meßpunkte gelesen werden sollen. Auf der anderen Seite: ich könnte ja noch ein Parameter abfragen, der mir sagt wieviele abgefragt werden sollen. Vielleicht versuche ich das mal. Das Problem bleibt aber, kann ich in den Vektor die Variable schreiben:</p>
<p>int n //Anzahl der Meßpunkte die gelesen werden sollen<br />
int readSensors[n]</p>
<p>Wenn jemand noch eine andere Idee hat, oder was zu meiner Idee anzumerken hat, würde ich mich über ein Kommentar freuen.</p>
<p>Viele Grüße<br />
Eure Tranquillity</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186871/kann-ich-das-so-deklarieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 11:55:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186871.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Jul 2007 08:45:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kann ich das so deklarieren? on Fri, 13 Jul 2007 08:48:07 GMT]]></title><description><![CDATA[<p>Hallo Ihr,</p>
<p>hm, ich habe eine klasse in der ich folgendes deklarieren möchte:</p>
<pre><code>class DataReader
{
	protected:
		double  totalExtendFile, segmentLength, totalNoSegments, t_0, t_n,
				byteOffset;

		int		noSensors;

		int readSensors[noSensors];

		char	fileName;

};
</code></pre>
<p>Die Klasse soll Daten aus einem Binary-File lesen und benötigt dazu diese Parameter. Meine Frage bezieht sich auf den Teil:</p>
<pre><code>int noSensors;

      bool readSensors[noSensors];
</code></pre>
<p>noSensors gibt mir die Anzahl mir die Anzahl aller Meßpunkte in meinem Datenfile an. readSensors ist ein Vektor der genauso viele Felder haben soll wie es Meßpukte gibt. Er soll alle Meßpunkte enthalten die tatsächlich gelesen werden sollen.</p>
<p>Zum Beispiel:<br />
noSensors = 4 //es gibt insgesamt 4 Meßpunkte<br />
readSensors = [0,0,1,1] //es soll der 3. und der 4. Messpunkt gelesen werden</p>
<p>Hm, wo ich das hier gerade so aufschreibe, frage ich mich, warum ich dann nicht einfach so was mache<br />
int readSensors[?]<br />
readSensors = [3,4]<br />
Das ? ist also das Problem, da ich ja nicht vorher weiß, wieviele Meßpunkte gelesen werden sollen. Auf der anderen Seite: ich könnte ja noch ein Parameter abfragen, der mir sagt wieviele abgefragt werden sollen. Vielleicht versuche ich das mal. Das Problem bleibt aber, kann ich in den Vektor die Variable schreiben:</p>
<p>int n //Anzahl der Meßpunkte die gelesen werden sollen<br />
int readSensors[n]</p>
<p>Wenn jemand noch eine andere Idee hat, oder was zu meiner Idee anzumerken hat, würde ich mich über ein Kommentar freuen.</p>
<p>Viele Grüße<br />
Eure Tranquillity</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324425</guid><dc:creator><![CDATA[Tranquillity]]></dc:creator><pubDate>Fri, 13 Jul 2007 08:48:07 GMT</pubDate></item><item><title><![CDATA[Reply to Kann ich das so deklarieren? on Fri, 13 Jul 2007 08:50:16 GMT]]></title><description><![CDATA[<p>Nein, so wie du das machen willst geht es nicht. Du musst eine konstante Größenangabe für dein Array angeben. Drum verwendet du am besten einfach std::vector&lt; T &gt;. <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/1324430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324430</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 13 Jul 2007 08:50:16 GMT</pubDate></item><item><title><![CDATA[Reply to Kann ich das so deklarieren? on Fri, 13 Jul 2007 08:51:10 GMT]]></title><description><![CDATA[<p>Nein, das geht nicht - die Arraygröße muß zur Compilezeit feststehen. Wenn du die Größe erst zur Laufzeit kennst, nimm lieber einen vector&lt;&gt; für die Daten (oder im Notfall einen Pointer, dessen Speicher du beim Einlesen reservierst).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324431</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 13 Jul 2007 08:51:10 GMT</pubDate></item><item><title><![CDATA[Reply to Kann ich das so deklarieren? on Fri, 13 Jul 2007 09:01:11 GMT]]></title><description><![CDATA[<p>Hmhmhm *nachdenklichsei*</p>
<p>Also die Parameter werden an die Klasse ja schon fertig übergeben, d.h. eigentlich ist der Vektor ja schon da, ich will sie ja nur intern zur Weiterverarbeitung speichern. Ach moment mal, eigentlich muss ich das ja gar nicht, oder?</p>
<p>Verlagert sich das Problem auf den Ort, wo der Array erstellt wird. Gibt es nicht so was wie einen dynamischen Array? Oder ich nehme einen &quot;zu großen&quot; Array, fülle ihn von vorne auf und schneide hinten alle leeren Felder ab. Geht so was?</p>
<p>Liebe Grüße<br />
Tranquillity</p>
<p>ps: ach wenn's doch python oder java wär <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /> , leider muss es in c++ sein und ich kenne mich da noch nicht so gut aus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324442</guid><dc:creator><![CDATA[Tranquillity]]></dc:creator><pubDate>Fri, 13 Jul 2007 09:01:11 GMT</pubDate></item><item><title><![CDATA[Reply to Kann ich das so deklarieren? on Fri, 13 Jul 2007 09:03:54 GMT]]></title><description><![CDATA[<p>Tranquillity schrieb:</p>
<blockquote>
<p>Hmhmhm *nachdenklichsei*</p>
<p>Also die Parameter werden an die Klasse ja schon fertig übergeben, d.h. eigentlich ist der Vektor ja schon da, ich will sie ja nur intern zur Weiterverarbeitung speichern. Ach moment mal, eigentlich muss ich das ja gar nicht, oder?</p>
</blockquote>
<p>Wenn die Parameter erst beim Erzeugen eines DataReader-Objekt's bekannt sind, ist das trotzdem zu spät für den Compiler <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="😉"
    /> Der will die korrekte Arraygröße wissen, lange bevor du überhaupt ans Erzeugen von Objekten denkst.</p>
<blockquote>
<p>Gibt es nicht so was wie einen dynamischen Array?</p>
</blockquote>
<p>Ja, das gibt es - es nennt sich std::vector&lt;&gt; <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/1324447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324447</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 13 Jul 2007 09:03:54 GMT</pubDate></item><item><title><![CDATA[Reply to Kann ich das so deklarieren? on Fri, 13 Jul 2007 09:05:47 GMT]]></title><description><![CDATA[<p>Muss ich mal nachgucken was es damit aufsich hat...schon mal danke <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1324449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324449</guid><dc:creator><![CDATA[Tranquillity]]></dc:creator><pubDate>Fri, 13 Jul 2007 09:05:47 GMT</pubDate></item><item><title><![CDATA[Reply to Kann ich das so deklarieren? on Fri, 13 Jul 2007 09:18:18 GMT]]></title><description><![CDATA[<p>So, ich habe jetzt was gefunden und zwar:</p>
<p>n = wieviele Meßpunkte lesen?</p>
<p>vector = (int*)malloc(n*sizeof(int))<br />
...verarbeite vector</p>
<p>free(vector)</p>
<p>Ist das zu umständlich?</p>
<p>LG<br />
Tranquillity</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324462</guid><dc:creator><![CDATA[Tranquillity]]></dc:creator><pubDate>Fri, 13 Jul 2007 09:18:18 GMT</pubDate></item><item><title><![CDATA[Reply to Kann ich das so deklarieren? on Fri, 13 Jul 2007 09:20:51 GMT]]></title><description><![CDATA[<p>Tranquillity schrieb:</p>
<blockquote>
<p>n = wieviele Meßpunkte lesen?</p>
<p>vector = (int*)malloc(n*sizeof(int))<br />
...verarbeite vector</p>
<p>free(vector)</p>
<p>Ist das zu umständlich?</p>
</blockquote>
<p>Ja!</p>
<pre><code class="language-cpp">vector&lt;int&gt; vec(n);
// … verarbeite vec.
</code></pre>
<p>… das ist wohl eindeutig einfacher. ('std::vector' befindet sich im Header &lt;vector&gt;.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324466</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Fri, 13 Jul 2007 09:20:51 GMT</pubDate></item><item><title><![CDATA[Reply to Kann ich das so deklarieren? on Fri, 13 Jul 2007 09:22:32 GMT]]></title><description><![CDATA[<p>Muss der dann nicht mehr deallokiert werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324469</guid><dc:creator><![CDATA[Tranquillity]]></dc:creator><pubDate>Fri, 13 Jul 2007 09:22:32 GMT</pubDate></item><item><title><![CDATA[Reply to Kann ich das so deklarieren? on Fri, 13 Jul 2007 09:23:15 GMT]]></title><description><![CDATA[<p>Tranquillity schrieb:</p>
<blockquote>
<p>Muss der dann nicht mehr deallokiert werden?</p>
</blockquote>
<p>Nein, muss nicht. Das macht die Klasse automatisch für Dich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324470</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Fri, 13 Jul 2007 09:23:15 GMT</pubDate></item><item><title><![CDATA[Reply to Kann ich das so deklarieren? on Fri, 13 Jul 2007 09:24:14 GMT]]></title><description><![CDATA[<p><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/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> Ich danke euch *verneig*</p>
<p>bis bald<br />
viele Grüße<br />
Tranquillity</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1324472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1324472</guid><dc:creator><![CDATA[Tranquillity]]></dc:creator><pubDate>Fri, 13 Jul 2007 09:24:14 GMT</pubDate></item></channel></rss>