return statement
Főnév
return statement (tsz. return statements)
- (informatika) A
returnkulcsszó a C++ nyelvben egy alapvető vezérlési utasítás, amelyet függvényekben használunk az értékek visszaadására és a végrehajtás leállítására. Nézzük meg részletesen, hogy hogyan működik és mire használható!
1. Mi a return kulcsszó?
A return egy kulcsszó a C++ nyelvben, amely egy függvény végrehajtását megszakítja, és opcionálisan visszaad egy értéket a függvény hívójának. Minden függvényben, amelynek visszatérési típusa nem void, kötelező legalább egy return utasítás, amely megfelelő típusú értéket ad vissza.
2. Alapvető használat
Az alábbi példában egy egyszerű sum függvényt definiálunk, amely két számot fogad paraméterként és visszaadja az összegüket a return kulcsszó segítségével:
#include <iostream>
int sum(int a, int b) {
return a + b; // Visszaadja az összeget a függvény hívójának
}
int main() {
int result = sum(5, 7);
std::cout << "A számok összege: " << result << std::endl;
return 0; // A főprogram sikeresen befejeződik
}
Magyarázat:
- A
sumfüggvény kétinttípusú paramétert fogad és egyinttípusú értéket ad vissza.
- A
return a + b;utasítás kiszámítja az összeget, és visszaküldi azt a hívó függvénynek.
- A
main()függvényben meghívjuk asum(5, 7)függvényt, amely visszaadja a 12 értéket.
- Az eredményt eltároljuk a
resultváltozóban, majd kiírjuk a konzolra.
3. return a main() függvényben
A main() függvény is tartalmazhat return utasítást. A C++ szabvány szerint, ha return 0; szerepel a main() végén, az azt jelenti, hogy a program sikeresen lefutott.
Példa:
int main() {
std::cout << "Program sikeresen lefutott!" << std::endl;
return 0; // 0 jelzi a sikeres futást
}
Ha a program nem sikeresen fejeződik be, más értékeket is visszaadhatunk, például return 1; egy hibát jelezhet.
4. return használata különböző visszatérési típusokkal
a) return egy double értékkel
double divide(double a, double b) {
if (b == 0) {
std::cout << "Hiba: Nullával nem lehet osztani!" << std::endl;
return 0.0; // Hibakezelésként visszaadhatunk egy alapértéket
}
return a / b;
}
b) return egy string típusú értékkel
#include <iostream>
#include <string>
std::string greet(std::string name) {
return "Szia, " + name + "!";
}
int main() {
std::cout << greet("Bence") << std::endl;
return 0;
}
c) return egy bool értékkel
bool isEven(int number) {
return number % 2 == 0; // Igazat (true) ad vissza, ha páros
}
int main() {
std::cout << std::boolalpha << isEven(4) << std::endl; // true
return 0;
}
5. return több ágon (conditional return)
Egy függvény több return utasítást is tartalmazhat, például feltételek alapján:
#include <iostream>
int compare(int a, int b) {
if (a > b)
return 1;
else if (a < b)
return -1;
return 0; // Ha a számok egyenlőek, 0-t ad vissza
}
int main() {
std::cout << compare(10, 5) << std::endl; // 1
std::cout << compare(5, 10) << std::endl; // -1
std::cout << compare(7, 7) << std::endl; // 0
return 0;
}
6. return és a void függvények
A void visszatérési típusú függvényekben is használható a return, de nem adhat vissza értéket.
Példa:
void printMessage() {
std::cout << "Üdvözöllek!" << std::endl;
return; // Csak a függvény befejezésére szolgál
}
A return; itt csak a függvényből való kilépést jelzi.
7. return dinamikus adatszerkezetekkel
A return nemcsak alap típusokat (pl. int, double), hanem összetettebb típusokat, például vektorokat vagy mutatókat is visszaadhat.
Példa egy std::vector<int> visszaadására:
#include <iostream>
#include <vector>
std::vector<int> getNumbers() {
return {1, 2, 3, 4, 5}; // Egy vektort ad vissza
}
int main() {
std::vector<int> numbers = getNumbers();
for (int num : numbers)
std::cout << num << " ";
return 0;
}
8. return és referencia visszaadás
Ha egy függvény referencia típusú változót ad vissza, akkor az eredeti változó módosítható:
#include <iostream>
int& getStaticVariable() {
static int x = 10;
return x;
}
int main() {
int& ref = getStaticVariable();
ref = 20; // Az eredeti x értéke is változik
std::cout << getStaticVariable() << std::endl; // 20
return 0;
}
Összegzés
- A
returnkulcsszó egy függvény végrehajtását megszakítja, és visszaadhat egy értéket a hívónak.
- Használható különböző típusokkal (
int,double,string,bool,vector, stb.).
- A
voidfüggvényekben areturn;utasítás opcionális, csak a függvény befejezésére szolgál.
- Több
returnutasítás is lehet egy függvényben, ha különböző feltételek alapján más eredményt ad vissza.
- Dinamikus és referencia visszaadásra is használható.
- return statement - Szótár.net (en-hu)
- return statement - Sztaki (en-hu)
- return statement - Merriam–Webster
- return statement - Cambridge
- return statement - WordNet
- return statement - Яндекс (en-ru)
- return statement - Google (en-hu)
- return statement - Wikidata
- return statement - Wikipédia (angol)