Дар дарси гузашта digitCount n-и худро то нест шудан ба 10 тақсим мекард ва адад дар main тағйир намеёфт. Ин тасодуф нест. Ин дарс дар бораи он аст, ки қиматҳо чӣ тавр ба функсия медароянд: ҳамчун нусха ё ҳамчун асл.
Супоридан бо қимат: нусха
Параметри оддӣ тағйирёбандаи нав аст, ки нусхаи аргументро мегирад. Ҳар чизе ки функсия бо он мекунад, дар дохили функсия мемонад:
Ин супоридан бо қимат номида мешавад. Аксар вақт ҳамин лозим аст: функсия метавонад параметрашро ҳамчун тағйирёбандаи чаканда истифода барад ва тағйирёбандаҳои даъваткунанда дар амон мемонанд.
Супоридан бо истинод: &
Баъзан тағйир додани тағйирёбандаи даъваткунанда тамоми маъно аст. &-ро баъди навъ гузоред ва параметр истинод мешавад: на тағйирёбандаи нав, балки номи дигари худи аргумент.
Мисоли классикӣ ҷой иваз кардани ду тағйирёбанда аст. Инак ҳарду шакл паҳлӯ ба паҳлӯ:
Он 3 8 ва баъд 8 3 чоп мекунад. Дар C++ функсияи тайёри swap(a, b) низ ҳаст, ки мисли swapRef кор мекунад. Қадам ба қадам гузаред ва ба a ва b назар кунед: