10. lecke változó paraméterek értékeit
Változó paraméterek értékeinek
A 9. leckét megtanultuk, hogyan oszlik meg a program apró könnyen kezelhető darab úgynevezett funkciókat. Mint tudja, a program képes információt továbbítani (paraméterek) funkciókat. Bemutatott Session programban 9 vagy használt kimeneti paraméter értékeket, de nem módosíthatja azokat. Ebben a leckében megtanulod, hogyan kell változtatni a paraméter értékét a funkciót. Látni fogja, hogy változtatni a beállításokat a funkció ténylegesen szüksége több lépést el lehet képzelni. Azonban ez a bemutató megtanuljuk az összes lépést, amit tudnod kell. Végére ez a lecke, megtudhatja az alábbi alapfogalmakat:
• Ha a funkció nem használható mutatókat vagy hivatkozásokat, hogy nem tudja megváltoztatni a beállítást.
Változó értéke a függvény paraméter a szokásos műveletekkel. Kísérlet a bemutatott programok a bemutató, győződjön meg róla, hogy már teljesen elsajátította ezt a folyamatot.
Miért nem működik normálisan Change paraméter értéke
A következő program NOCHANGE.CPP halad két paraméter a nagy nevek és kis display_values funkciót. display_values funkció viszont beállítja a paramétereket mind a szám 1001 és azután kiadja az érték az egyes paraméterek. Amikor a funkció befejeződik, a program újraindításakor, és megjeleníti az értékeket a következő paraméterekkel:
void display_values (int a, int b)
b = 1,001;
cout <<"Значения в функции display_values равны " <<а <<" и " <>
Amikor összeállít és futtatni ezt a programot, látni fogja az eredményt kapjuk:
C: \> NOCHANGE
Értékek display_values működnek egyenlő 1001 # 9-et és 1001
Mint látható, a paraméter értékek display_values funkciók módosultak (1001). Azonban befejezése után a függvény értéke nagy és kis változó a fő maradt. Ahhoz, hogy megértsük, miért a változás a paraméterek nem befolyásolják a változó kis és nagy a fő, meg kell értened, hogy a C ++ segítségével paramétereket a funkciót.
Amikor a program át paraméterként egy függvénynek, akkor az alapértelmezett C ++ másolatot készít a paraméterek és elhelyezi a példányt egy ideiglenes memóriába úgynevezett verem. A funkció akkor használja a másolatot a értéke a teljesítmény a működését. Amikor a funkció befejeződik, C ++ eldobja a tartalmát a verem, és minden változás történt a funkció a másolat enacheny paramétert.
Mint tudja, a változó nevét rendelt a programot a memória cella, amely tárolja az értéket egy bizonyos típusú. Tegyük fel például, hogy a változók nagy és kicsi a memória sejtek 10 és 12. Ha át változókat display_values funkció, C ++ elhelyez egy másolatot az e változók értékeit a verem. Ábra. 10.1 azt mutatja, hogy a további funkciója display_values fogja használni példányban változók.
Ábra. 10.1. C ++ egy másolatot elhelyez a paraméter értékeket egy átmeneti tárolóba, a verem.
Miért C ++ funkció általában nem változik paraméterértékek
VÁLTOZÁS paraméter ÉRTÉK
shange_values void (int. * nagy, int. * kicsi) ---> Pointer egy int
* Nagy = 1001;
* Kis = 1001;
void change_values (int * a, int * b)
* A = 1001;
* B = 1001;
cout <<"Значения в функции display_values" <<" равны " <<*а <<" и " <<*b <
Amikor összeállít és futtatni ezt a programot, látni fogja az eredményt kapjuk:
C: \> CHGPARAM
Értékek display_values funkciók 1001 és 1001
Értékek után a függvény 1001 és 1001
Változó paraméterek értékeinek függvények
void some_function (int * some_variable);
Következő a függvény belsejében kell használni csillaggal előtt a változó nevét:
* Some_variable = 1001;
cout <<*some_variable;
A második példa
void swap_values (float * a, float * b)
float nagy = 10000,0;
float kis = 0,00001;
swap_values (nagy, kicsi);
cout <<"Big содержит " < cout <<"Small содержит " <>
void swap_values (float * a, float * b)
Azonban a függvény kijelenti változó temp ahogy az úszó, nem pedig a mutató lebegni. float temp;
Tekintsük a következő nyilatkozatot teszi:
Ne aggódjon, ha nem tudja könnyen kezelni mutató, akkor meg fogja vizsgálni azokat részletesebben a 3. részben Eddig azonban csak megérteni, hogy ha meg akarja változtatni a funkciókat a beállítások, meg kell használni mutatók.
Segítségével egy assembler felsorolja, hogy jobban megértsék a fordító
A legjobb módja annak, hogy megértsük, hogyan C ++ fordító kezeli mutató, hogy tanulmányozza a szerelő kimenete a fordító. A legtöbb C ++ fordító biztosít parancssori kapcsoló segítségével mondja a fordító kimeneti összeállító lista. Reading a szerelvény lista, akkor jobban megérteni, hogy a fordító használja a köteget átadja a paramétereket a funkciót.
MIT KELL TUDNI
Ezt a leckét megtanulta, hogyan kell változtatni az értékét belsejében sic ktsii. Ehhez a funkciót kell használni mutatók. Először is, megtalálja mutatók túl bonyolult. Óráról 14 megtudhatja, hogyan kell használni a referencia C ++. amelyek leegyszerűsítik a folyamat változó paramétereit a funkciót. Mivel azonban sok C programozó használja mutatókat megváltoztatni a beállításokat, meg kell tudni, és ez a verzió a szoftver.
Óráról 11, ha megtudja, hogyan futásidejű könyvtár által biztosított funkciók a fordító C ++. felgyorsíthatja a programozás, amely lehetővé teszi, hogy dolgozzon kifinomult programokat gyorsan. Ahhoz azonban, hogy tanulmányozza a leckét 11, győződjön meg arról, hogy elsajátította a következő alapfogalmakat:
Powered by uCoz