📖 Scenario: Imagine you have a number stored in a box. You want to create another name for the same box so you can use either name to change or see the number inside.
🎯 Goal: You will create a reference to an integer variable and then change the value using the reference. Finally, you will print the value to see the effect.
📋 What You'll Learn
Create an integer variable named original with the value 10.
Create a reference variable named ref that refers to original.
Change the value of original using the reference ref to 20.
Print the value of original.
💡 Why This Matters
🌍 Real World
References are used in C++ to avoid copying large data and to allow functions to modify variables directly.
💼 Career
Understanding references is important for writing efficient and clear C++ code in software development jobs.
Progress0 / 4 steps
1
Create an integer variable
Create an integer variable called original and set it to 10.
C++
Hint
Use int to declare a number and assign 10 to original.
2
Create a reference to the integer
Create a reference variable called ref that refers to the variable original.
C++
Hint
Use int& to declare a reference to original.
3
Change the value using the reference
Change the value of original to 20 using the reference variable ref.
C++
Hint
Assign 20 to ref to change original.
4
Print the value of the original variable
Write a std::cout statement to print the value of original.
C++
Hint
Use std::cout << original << std::endl; to print the value.
Practice
(1/5)
1. What is a reference in C++?
easy
A. A pointer to a variable
B. A new variable with its own memory
C. An alias for another variable
D. A constant value
Solution
Step 1: Understand the definition of a reference
A reference acts as another name for an existing variable, not a separate variable.
Step 2: Compare with other options
Unlike pointers or constants, references directly alias the original variable.
Final Answer:
An alias for another variable -> Option C
Quick Check:
Reference = Alias [OK]
Hint: Remember: reference is just another name for a variable [OK]
Common Mistakes:
Confusing references with pointers
Thinking references create new memory
Believing references can be reassigned
2. Which of the following is the correct syntax to declare a reference to an int variable x?
easy
A. int &ref = x;
B. int ref& = x;
C. int &ref(x);
D. int ref = &x;
Solution
Step 1: Recall correct reference syntax
References are declared with the & symbol after the type: int &ref = x;.
Step 2: Check other options for syntax errors
int ref& = x; places & incorrectly, C uses parentheses which is invalid here, D uses pointer syntax.
Final Answer:
int &ref = x; -> Option A
Quick Check:
Reference syntax = type &name = variable [OK]
Hint: Put & right after type, before variable name [OK]
Common Mistakes:
Placing & after variable name
Using parentheses instead of = for initialization
Confusing references with pointers (& usage)
3. What is the output of this code?
int a = 5;
int &ref = a;
ref = 10;
std::cout << a << std::endl;
medium
A. 5
B. Undefined behavior
C. Compilation error
D. 10
Solution
Step 1: Understand reference assignment
Reference ref aliases a, so assigning to ref changes a.
Step 2: Trace the output
After ref = 10;, a becomes 10, so printing a outputs 10.
Final Answer:
10 -> Option D
Quick Check:
Reference assignment changes original variable [OK]
Hint: Changing reference changes original variable [OK]
Common Mistakes:
Thinking ref is separate variable
Expecting original variable unchanged
Confusing reference with pointer syntax
4. Identify the error in this code:
int x = 5;
int &ref;
ref = x;
medium
A. Cannot assign int to reference
B. Reference must be initialized when declared
C. Variable x is not declared
D. No error, code is correct
Solution
Step 1: Check reference declaration rules
References must be initialized at declaration; int &ref; without initialization is invalid.
Step 2: Analyze the code
Here, ref is declared without initialization, causing a compilation error.
Final Answer:
Reference must be initialized when declared -> Option B
Quick Check:
References need initialization [OK]
Hint: Always initialize references when declaring [OK]
Common Mistakes:
Declaring references without initialization
Confusing assignment after declaration with initialization
Ignoring compiler errors on references
5. Given the code below, what will be the output?
int a = 3;
int b = 4;
int &ref = a;
ref = b;
std::cout << a << ", " << b << std::endl;
What does this demonstrate about references?
hard
A. Reference assignment changes the original variable's value
B. Reference creates a copy of the variable
C. Reference can be reassigned to another variable
D. Reference points to the address of another variable
Solution
Step 1: Understand reference initialization
ref is a reference to a, fixed at initialization.
Step 2: Analyze ref = b;
This assigns the value of b to a through ref, not reassigning the reference.
Step 3: Determine output
After assignment, a becomes 4, b remains 4, so output is 4, 4.
Final Answer:
Reference assignment changes the original variable's value -> Option A
Quick Check:
Reference fixed; assignment changes value [OK]
Hint: Reference fixed at init; assignment changes value, not reference [OK]
Common Mistakes:
Thinking reference can be reassigned to another variable
Confusing reference with pointer behavior
Assuming reference copies value
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.