C++ Fundamentals · Functions · Lesson 14 of 24
Pass by Value vs Reference
Concept
Pass by Value vs Reference
By default, arguments are copied, which is called pass by value. Adding an ampersand makes a parameter a reference that modifies the original.
By the end of this lesson
- Explain the core idea behind Pass by Value vs Reference.
- Predict output before running a change.
- Test one realistic and one unusual input.
- Use the result to make the next decision.
How to study this page
- 1. Read one concept.
- 2. Change the example.
- 3. Run, compare, and explain.
- 4. Complete the challenge below.
ExampleRunnable
void increment(int &n) {
n = n + 1;
}
int x = 5;
increment(x); // x is now 6Try it Yourself »Self-check before continuing
Without looking at the example, describe what changes when you modify one input in Pass by Value vs Reference. Then reopen the editor and prove your explanation with a small test.
You are ready to continue when you can predict, test, and explain the result.
Your turn
Explain in a comment why increment(x) needed a reference to actually change x.
Loading editor…
Console