Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [C++] << (Linksschiebeoperator?) (https://www.delphipraxis.net/78296-%5Bc-%5D-linksschiebeoperator.html)

Balu der Bär 2. Okt 2006 18:12


[C++] << (Linksschiebeoperator?)
 
Hallo,

ich bin soeben dabei einen C++ Quelltext nach Delphi zu übersetzen. Einzig und allein diese Zeile macht mir zu schaffen:
Code:
return (d4 << 15) + d3;
Dies steht am Ende einer Funktion und ist logischerweise der Rückgabewert. Mit "<<" kann ich in diesem Zusammenhang leider nichts anfangen. Eigentlich dachte ich immer << ist für Ein- und Ausgabe da, mit diesen beiden Klammern hatte ich meine ersten C++-Konsolenprogramme geschrieben. Google meinte nur es handele sich um einen "Linksschiebeoperator", damit kann ich jedoch gar nichts anfangen. Was hat << in diesem Zusammenhang zu bedeuten sodass ich fehlerfreien Delphi-Code daraus machen kann? :gruebel:

Danke euch.

Dax 2. Okt 2006 18:13

Re: [C++] << (Linksschiebeoperator?)
 
<< und >> sind wirklich shl und shr. Aaaber die C++-STL (oder wie das heißt) hat für die IO-Klassen << und >> überladen.

Tubos 2. Okt 2006 18:15

Re: [C++] << (Linksschiebeoperator?)
 
Zitat:

Google meinte nur es handele sich um einen "Linksschiebeoperator"
Und das ist korrekt so. Man kann aber in C++ Operatoren überladen, sodass statt dem Links-Shift eine beliebige Funktion ausgeführt wird. So wird es zum Beispiel von der iostream-Bibliothek gemacht.

Welchen Datentyp hat denn d4 bei dir?

Balu der Bär 2. Okt 2006 18:19

Re: [C++] << (Linksschiebeoperator?)
 
Zitat:

Welchen Datentyp hat denn d4 bei dir?
Cardinal bzw uint32_t um genau zu sein.

Das heißt also
Delphi-Quellcode:
result := (d4 shl 15) + d3;
würde korrekt sein?

Edit: Komm schon ganz durcheinander bei den vielen Sprachen. :wall:

Dax 2. Okt 2006 18:21

Re: [C++] << (Linksschiebeoperator?)
 
Delphi-Quellcode:
Result := (d4 shl 15) + d3;
Exit;
würde korrekt sein ;)

Balu der Bär 2. Okt 2006 18:22

Re: [C++] << (Linksschiebeoperator?)
 
Ok danke euch. :-)

@Dax: Siehe mein Edit im vorherigen Post. :P


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz