return
Ige
return (alapjelen, egyes szám harmadik személy returns, folyamatos melléknévi igenév returning, második és harmadik alakja returned)
Főnév
return (tsz. returns)
- visszatérés
- (informatika) A
return
kulcsszó 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
sum
függvény kétint
típusú paramétert fogad és egyint
tí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
result
vá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
return
kulcsszó 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
void
függvényekben areturn;
utasítás opcionális, csak a függvény befejezésére szolgál.
- Több
return
utasí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ó.