Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » ungenaue Ausgabe der Kreisfläche

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
08.03.2007, 21:18 Uhr
xXx
Devil


?! www.cppreference.com ... ^^ Nicht ganz ...

2.
Zitat:
The flush() function causes the buffer for the current output stream to be actually written out to the attached device.
=> Die Zeile wird sofort ausgegeben ...
1. Referenzen ...

Achja zu deinem Header ... also laut Standard gibt in C++ cmath ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
08.03.2007, 21:32 Uhr
0xdeadbeef
Gott
(Operator)


<cmath> ist vom C++-Standard her korrekt, <math.h> ist C. Der wesentliche Unterschied ist, dass <cmath> die Funktionen in den namespace std setzt. <math> ist völlig falsch. wenn dein Compiler das akzeptiert, dann vermute ich, dass du da einen ziemlich alten Vor-Standard-Compiler wie Visual C++ 6.0 benutzt, der im Grunde gar kein C++-Compiler ist, sondern eine C++ relativ ähnliche Sprache übersetzt.

std::flush flusht (spült) den Ausgabestrom. In diesem Fall bedeutet das, dass das, was du gerade in std::cout geschrieben hast, auf die Anzeige gebracht wird. In diesem Fall soll das sicherstellen, dass die Ausgabe sichtbar ist, bevor das Programm eine Eingabe verlangt, obwohl das hier, glaube ich, garnicht notwendig wäre, weil cout und cin getied sind. Allerdings müsste ich das nachschlagen, um sicher zu gehen.

double& ist eine Referenz auf einen double. Zum Beispiel:

C++:
#include <iostream>

void square(double &x) { x *= x; }

int main() {
  double y = 2.2;

  square(y);
  std::cout << y << std::endl;
}


const double & oder double const & ist eine Referenz auf einen konstanten double, das bedeutet, der kann nicht geändert werden. Im Fall von Basistypen übergibt man die eigentlich gerne direkt, weil der Dereferenzierungsaufwand das bisschen stackspace nicht wert ist, aber bei komplexen Datentypen ist die Übergabe als konstante Referenz typischerweise deutlich schneller als die Übergabe als Wert, weil halt keine Kopie angelegt und zerstört werden muss.

Was die Operatoren angeht, die sind Teil der Sprachsyntax, nicht der Standardbibliothek. Und sie sind auch nicht in einem namespace, weil sie keine Symbole in dem Sinne sind. Du schreibst ja nicht x std::/ y. Die trigonometrischen Funktionen sind in <cmath>, die Teil des C compat layers im C++-Standard ist, deklariert, und da auch im namespace std.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: