<?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[Binäre Eingabe: wieso Übergabe per Referenz zwingend?]]></title><description><![CDATA[<p>High!</p>
<p>Ich arbeite gerade ein Beispiel aus BREYMANN, C++ - Eine Einführung, S. 214ff durch, in dem es um die Erzeugung einer Binärdatei mit 20 double-Zahlen geht.</p>
<p>Die Zeile für das Einlesen der Daten lautet im Original so:</p>
<p>Ziel.write((char*) &amp;d, sizeof(d));</p>
<p>und funktioniert so auch einwandfrei. Allerdings frage ich mich, wieso der Wert d (ist jeweils eine double-Zahl) als Referenz übergeben wird... als ich das &amp; wegließ, erhielt ich die Fehlermeldung &quot;cannot convert 'd' from type 'double' to type 'char'!</p>
<p>Ist die Umwandlung in einen Zeiger welcher Art auch immer grundsätzlich nur mittels einer Referenz auf das Ursprungsobjekt möglich? Wenn ja, wieso?</p>
<p>Bis bald im Khyberspace!</p>
<p>Yadgar</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/135954/binäre-eingabe-wieso-übergabe-per-referenz-zwingend</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 05:26:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/135954.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 06 Feb 2006 13:09:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Binäre Eingabe: wieso Übergabe per Referenz zwingend? on Mon, 06 Feb 2006 13:09:15 GMT]]></title><description><![CDATA[<p>High!</p>
<p>Ich arbeite gerade ein Beispiel aus BREYMANN, C++ - Eine Einführung, S. 214ff durch, in dem es um die Erzeugung einer Binärdatei mit 20 double-Zahlen geht.</p>
<p>Die Zeile für das Einlesen der Daten lautet im Original so:</p>
<p>Ziel.write((char*) &amp;d, sizeof(d));</p>
<p>und funktioniert so auch einwandfrei. Allerdings frage ich mich, wieso der Wert d (ist jeweils eine double-Zahl) als Referenz übergeben wird... als ich das &amp; wegließ, erhielt ich die Fehlermeldung &quot;cannot convert 'd' from type 'double' to type 'char'!</p>
<p>Ist die Umwandlung in einen Zeiger welcher Art auch immer grundsätzlich nur mittels einer Referenz auf das Ursprungsobjekt möglich? Wenn ja, wieso?</p>
<p>Bis bald im Khyberspace!</p>
<p>Yadgar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/987363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/987363</guid><dc:creator><![CDATA[Yadgar]]></dc:creator><pubDate>Mon, 06 Feb 2006 13:09:15 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Eingabe: wieso Übergabe per Referenz zwingend? on Mon, 06 Feb 2006 13:13:27 GMT]]></title><description><![CDATA[<p>Der &amp;-Operator erzeugt keine Referenz von d, sondern einen Zeiger auf Double (also die Speicheradresse, an der das double steht).</p>
<p>Diese Adresse (Typ ist double*) wird umgewandelt in ein char*, da man Dateien üblicherweise Zeichenweise beschreibt. Die Funktion write erhält also eine Adresse (Anreihung binärer Zeichen) und eine Länge (Anzahl der binären Zeichen). Write interessiert nicht was er speichert, sondern nur wo es liegt und wie lang es ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/987370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/987370</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 06 Feb 2006 13:13:27 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Eingabe: wieso Übergabe per Referenz zwingend? on Mon, 06 Feb 2006 13:14:28 GMT]]></title><description><![CDATA[<p>Das ist keine Übergabe als Referenz, sondern als Zeiger - und ist nötig, weil write() einen char* als ersten Parameter erwartet (die Formulierung &quot;(char*)&amp;d&quot; interpretiert die Adresse von d als char*, also d letzendlich als char(-array)).</p>
<p>(und &amp; ist noch aus C-Zeiten als Adress-of-Operator übernommen worden)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/987372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/987372</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Mon, 06 Feb 2006 13:14:28 GMT</pubDate></item></channel></rss>