Void vs Int-Funktionen
Was wäre der Unterschied zwischen void und int-Funktionen? Wann nutze ich welche? Wäre nichtig verwendet werden, wenn Sie nur drucken Sie sich eine Nachricht oder ein variabler Wert? wie cout << Wert;
Oder würde es nur text sein?
Und ist vom Datentyp int verwendet, wenn Sie tatsächlich führen Sie Berechnungen innerhalb?
InformationsquelleAutor soniccool | 2011-10-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
void
wird verwendet, wenn Sie sind nicht erforderlich, alles zurückzugeben, was von der Funktion an den Aufrufer der Funktion zurückgegeben.zB.
int
wird verwendet, wenn Sie einen integer-Wert zurückgeben von der Funktion an den Aufrufer der Funktion zurückgegebenzB.
für den Fall, jemand anderes hat die gleichen Frage von). Es hilft, das "größere Bild" nur für die Kohärenz mit anderen Funktionen. Wenn, zum Beispiel, alle Ihre API-Funktionen geben einen integer als Fehlercode dann wieder 0 ist akzeptabel (auch wenn, so weit, dass die Funktionen nicht wieder alle Fehler-code). Wenn Sie ändern die Umsetzung dann brauchen Sie nicht neu zu kompilieren code, der es verwendet, und Benutzer werden nicht das Gefühl, "Fremd", weil die Funktion hat eine "bekannte" Signatur.
sind void-Funktionen unfähig, die Dinge wieder, oder ist es nur eine gemeinsame Praxis zu nutzen, void, wenn nichts zurückgegeben werden?
InformationsquelleAutor srikfreak
Wollen Sie die Funktion auf zurück nichts? Wenn nicht, dann sollte es
void
. Wenn Sie möchten, es zurückzugebenint
, dann sollte esint
. Wenn Sie wollen, bis Sie wieder etwas anderes, dann sollte es auch haben einige andere zurück geben.InformationsquelleAutor Beta
Einige bevorzugen die Verwendung von Funktionen, return int, um anzuzeigen, einige Fehler oder speziellen Fällen. Betrachten Sie diesen code:
InformationsquelleAutor Ahmed Khalaf
wenn Sie erlischt, bedeutet es, dass Sie nicht wollen, etwas von der Funktion zurückgegeben.
während die einen int zurückgeben, kann das Ergebnis der Berechnung in die Funktion oder den status anzuzeigen, wenn Sie zurückkehren, wie eine Fehlernummer oder etwas anderes, die können dir sagen, was passiert, wenn die Funktion ausgeführt wird.
InformationsquelleAutor Fitz Chen
Kehren Sie zurück
void
zu zeigen, dass nichts zurückgegeben.Einen int zurückgeben kann oder auch nicht zeigen, dass Berechnungen, die durchgeführt wurden (z.B. könnte nur ein return-code).
InformationsquelleAutor duffymo
Wie du oben gehört,
void
zurück nicht Wert, so dass Sie es verwenden, wenn Sie nicht brauchen, um dies zu tun.Zum Beispiel können Sie verwenden Sie 'void' nicht nur um text, sondern vor allem modificate ein Parameter (ändern Sie etwas, was Sie bereits haben), so brauchen Sie nicht, um einen Wert zurückzugeben.
Lassen Sie uns sagen, Sie wollen finden
int c
, die Summe von zwei (integer -) zahlena
undb
(also a+b=c). Schreiben Sie eine Funktion, die addiert diese zahlen und weisen Sie ihm den Wertc
Während der Verwendung
void
Sie nur modificatec
, so dass anstelle des Schreibensc = function(arguments)
haben Siefunction(c)
ändertc
zum Beispiel:Nach der letzten Zeile, die '
c
' Sie ist gleich der Summe der 'a
' und 'b
' 🙂InformationsquelleAutor Kusavil
Tatsächlich,Es ist notwendig, wenn Sie kompilieren Sie Ihren code für eine gehostete system, wie PC, Linux, Mac, Android. Dann main zurückkehren müssen. int. Wenn Sie kompilieren von code für ein frei stehendes system, wie embedded-mikrocontroller oder wenn Sie ein OS, dann der Rückgabetyp von main kann alles sein.
Wenn keine Fehler auftreten, wenn Sie mit int oder void, sondern seine nicht-Konformität nach der Norm C.
InformationsquelleAutor
Weiterer Unterschied ist, dass void-Funktion nicht benötigen, um eine Rendite drin:
Diese 2 snippets des Codes gültig sind, und erzeugen nicht eine compiler-Warnung:
Snippet 1
Snippet 2
Beide haben das gleiche Verhalten und es wird keine Warnung angezeigt.
Wenn Sie deklarieren eine Funktion, die nicht void und Sie geben keinen Wert zurück dein compiler wahrscheinlich eine WARNUNG anzeigen, wie "warning: no return statement in function returning non-void".
Es ist abhängig von modifier-Parameter gesendet, um compiler-wenn dieser Fehler angezeigt wird oder nicht.
Dieser code ist likey anzeigen, um eine compiler-Warnung aus, da es kein zurück :
InformationsquelleAutor Juan Pablo