AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[C++] << (Linksschiebeoperator?)

Ein Thema von Balu der Bär · begonnen am 2. Okt 2006 · letzter Beitrag vom 2. Okt 2006
Antwort Antwort
Balu der Bär
(Gast)

n/a Beiträge
 
#1

[C++] << (Linksschiebeoperator?)

  Alt 2. Okt 2006, 18:12
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?

Danke euch.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

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

  Alt 2. Okt 2006, 18:13
<< und >> sind wirklich shl und shr. Aaaber die C++-STL (oder wie das heißt) hat für die IO-Klassen << und >> überladen.
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#3

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

  Alt 2. Okt 2006, 18:15
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?
Lukas
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#4

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

  Alt 2. Okt 2006, 18:19
Zitat:
Welchen Datentyp hat denn d4 bei dir?
Cardinal bzw uint32_t um genau zu sein.

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

Edit: Komm schon ganz durcheinander bei den vielen Sprachen.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#5

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

  Alt 2. Okt 2006, 18:21
Delphi-Quellcode:
Result := (d4 shl 15) + d3;
Exit;
würde korrekt sein
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#6

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

  Alt 2. Okt 2006, 18:22
Ok danke euch.

@Dax: Siehe mein Edit im vorherigen Post.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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