Video: Lambdas in C++ 2024
Som så många saker är funktionerna i C ++ bäst förstådda av exempel. Följande kodstämpel visar det enklaste möjliga exemplet på att skapa och aktivera en funktion:
void someFunction () {// gör saker returnera;} int main (int nNumberofArgs, char * pszArgs []) {// gör något // Nu anropa someFunction () someFunction (); // Fortsätt här när kontrollen returneras}
Detta exempel innehåller alla kritiska element som är nödvändiga för att skapa och aktivera en funktion:
-
Deklarationen:
Den första är deklarationen av funktionen: namnet på funktionen med en typ framför, följt av en uppsättning öppna och stängda parentes. I detta fall är namnet på funktionen someFunction (), och dess returtyp är ogiltig.
-
Definitionen:
Funktionsdeklarationen följs av definitionen av vad den gör, även kallad funktionen kroppen . En funktionskropp börjar alltid med en öppen sticka och slutar med en stängd sticka. Uttalandena inuti kroppen är precis som de som finns inom en slinga eller ett om uttalande.
-
Retur:
Funktionens kropp innehåller noll eller fler returinställningar. En retur returnerar kontrollen till en punkt omedelbart efter den punkt där funktionen påkallades. Kontrollen returneras automatiskt om den någonsin når slutkroppen på funktionskroppen.
-
Samtalet:
En funktion kallas genom att anropa namnet på funktionen följt av öppna och stängda parenteser.
Kontrollflödet visas här.
Funktioner returnerar ofta ett värde till den som ringer. Ibland är detta ett beräknat värde - en funktion som factorial () kan returnera fakulteten för ett nummer. Ibland är det här värdet en indikation på hur sakerna gick - det här brukar kallas en felavkastning. Så kan funktionen returnera en noll om allt gick OK, och en icke-noll om något gick fel under funktionens utförande.
För att returnera ett värde från en funktion måste du göra två ändringar:
-
Ersätt giltigt med den typ av värde du avser att returnera.
-
Placera det värde som du vill att funktionen ska återvända efter nyckelordets retur. C ++ tillåter dig inte att återvända från en funktion genom att springa in i den slutna stängda bandet om returtypen är annorlunda än tom.
Nyckelordet void är C ++ - ese för "ingenting. "En funktion som deklareras med en returtyp av int returnerar ett heltal. En funktion som deklareras med en återkommande typ av tomrum returnerar ingenting.