Kezdőoldal » Számítástechnika » Programozás » C++-ban a result az olyan,...

C++-ban a result az olyan, mint a cout?

Figyelt kérdés

Tehát gyakorlatilag kiírja valaminek az értékét.


Ha van egy 'a' változó, és azt írjuk, hogy:


{

int a = 10;

cout << a;

return(0)

}


Akkor kiírja az 'a' értékét.


De ha azt írjuk, hogy:


{

int a = 10;

return(a)

}


Akkor ugyanúgy az 'a' értékével tér vissza, mint a cout esetében.


2020. máj. 27. 11:47
 1/6 anonim ***** válasza:

Nem értem, mert először result-öt írsz, aztán return-t.

Egyébként nem, nem ugyanaz.

A cout a "console output" rövidítése, ami annyit tesz, hogy konzolra való kiíratás.

A return (visszatérés) csak egy visszatérési értéket képez, mondhatjuk egy visszaellenőrzésnek is.

pl. ha írsz egy ilyen függvényt:


int teglalapTerulet(int a, int b) {

return a*b;

}

//majd main függvényben meghívjuk


int main() {

int a, b;

cin >> a >> b;

teglalapTerulet(a, b);


return 0;

//Ez nem írja ki a és b változók szorzatát, ahhoz ki kell íratni a függvényt

}


//így

int main() {

int a, b;

cin >> a >> b;

cout << teglalapTerulet(a, b);

}

2020. máj. 27. 12:30
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:

#1 vagyok.

És a te példádat használva sem írja ki 'a' változó értékét.

2020. máj. 27. 12:32
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

A "kiírja" és a "visszatér" nagyon más dolgot jelentenek...

Az első példád kiírja az "a" értékét (10-et), majd visszatér 0-val.

A második példád nem ír ki semmit, és visszatér 10-zel.

2020. máj. 27. 13:00
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:

"Nem értem, mert először result-öt írsz, aztán return-t."


Elírtam, bocsi.


"Az első példád kiírja az "a" értékét (10-et), majd visszatér 0-val."


Miért 0-val tér vissza? Miért nem azzal az értékkel, amit kiírt? Vagy miért nem mondjuk 1-gyel? Visszatérhetne mindig 1-gyel.

És mit jelent az, hogy "visszatér"? Hogy újból felhasználható? Különben nem tudnánk újból felhasználni, hanem újból értéket kéne adni a változónak?

2020. máj. 27. 14:02
 5/6 anonim ***** válasza:

Amit fent írsz, az hiányos, semmi értelme így. Legalábbis szerintem egy blokkutasításnak nem lehet visszatérési értéke.


A függvényekről:

A függvényeknek lehetnek paraméterei, amiket a függvényhíváskor át kell neki adni.

Ezen kívül lehet (mellék)hatása: csinál valami olyat, amit kívülről (a függvényhívás helyéről például, is lehet érzékelni - például kiír a konzolra valamit, vagy megváltoztatja az egyik paraméterének értékét (ha megfelelően van átadva), stb.

Továbbá lehet visszatérési értéke (nem kötelező). Ezt hívhatjuk eredménynek is. Így talán érthetőbb.


Például van egy téglalap területét kiszámoló függvényed (mint a kolléga példája). Itt a paraméter a téglalap két oldala. Nincs mellékhatása. A visszatérési értéke (eredménye) pedig a két oldal szorzata, azaz a téglalap területe.

De ezt a függvényt meg lehetne máshogy is csinálni (úgy kevésbé lenne általános, újrafelhasználható, vagy szabadabban felhasználható, többcélú):

- paraméterek helyett beolvashatná a konzolról a két oldalt

- az eredményt kiírhatná a konzolra a visszaadás (return) helyett

Bizonyos esetekben ez is tökéletes megoldás tud lenni.

De ha pl. arra változik a feladat, hogy egy fájlban vannak oldal párok (soronként pl.), és ezek területeit kell kiszámolni. Akkor az első verzióval ki lehet számolni, a másodikkal nem (tehát kevésbé általános megoldás).


"Miért 0-val tér vissza? Miért nem azzal az értékkel, amit kiírt? Vagy miért nem mondjuk 1-gyel? Visszatérhetne mindig 1-gyel."

Mert azt írtad, hogy "return(0);" ez a visszatérés utasítása. Nem kell a zárójel, mivel utasítás és nem függvény.


Ha még mindig nem világos: a konzolra kiírásnak és a visszatérési értéknek semmi köze egymáshoz. Pontosabban annyi köze van egymásnak a kettőhöz, hogy a kiírás (a << operátor) is egy függvény, aminek:

- van paramétere: a jobb oldalán lévő kifejezés/érték/stb.

- van mellékhatása: kiírja a konzolra (vagy egyéb streambe)

- van visszatérési értéke: a stream, amibe kiírta (itt: cout)

2020. máj. 27. 16:12
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Köszönöm az érthető magyarázatot, már értem. És bocsi ha rosszul tettem fel a kérdést.
2020. máj. 28. 12:37

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!