2013-05-10 18 views
5

Ich bin ein bisschen Neuling in der Verwendung von C++. Ich habe eine kurze Frage, wahrscheinlich eine dumme Frage.C++ streamsize prec = cout.precision (3) - Wie funktioniert es?

streamsize prec = cout.precision(3); 

Wie ich richtig diese Erklärung verstehen funktioniert so: Stellen Sie die cout Präzision bis 3, aber die bisherige Präzision Wert prec zuweisen.

int z = addition(3,4); 

In der zweiten, es in die Berechnung und ordnet die Ergebnisse auf die Variable z,:

Auch einfach, können wir eine Funktion Ergebnis (sagen wir eine mathematische Additionsfunktion) einer Variablen zuweisen nicht der vorherige Wert oder ein Standardwert. Ist mein Verständnis richtig? Was ist der Unterschied zwischen ihnen?

+2

Keine dumme Frage, sei nicht so schüchtern. – RandyGaul

Antwort

3

Welcher Wert eine Funktion zurückgibt, hängt vollständig von dieser speziellen Funktion ab. Die meisten Funktionen geben einfach ein Ergebnis ihrer Operation zurück.

Die State-Setting-Funktionen in Standard-Bibliotheksströmen (wie precision) sind ein wenig ungewöhnlich in ihrer Schnittstelle von "Ich setze einen neuen Wert und gebe den alten zurück", aber es ist immer noch gültig, solange die Funktion ist Verhalten ist dokumentiert (was es in ihrem Fall ist).

+0

Es hängt also von der Funktion und ihrem besonderen Verhalten bei der Rückgabe eines Wertes ab. cout.precision gibt nur den vorherigen Wert zurück. Um dann die Präzision zu ändern und sie prec zuzuweisen, sollte ich folgendes tun. std :: cout.precision (3); Streamgröße prec = cout.precision(); Danke vielmals. – user2371160