adding passing pointer by reference example and notes
This commit is contained in:
@@ -95,5 +95,7 @@ and lists with one or two values. Also add a test or two of a node chain with so
|
||||
If you have time, write 2 versions of this function, one version should be iterative (using a for or while loop)
|
||||
and one version should be recursive.
|
||||
|
||||
**Note**: this reverse function takes a pointer as its argument, but we are passing this pointer by reference, because we want to modify this pointer. To understand the concept of passing a pointer by reference, you are recommended to read and run this [example program](reference_to_a_pointer.cpp).
|
||||
|
||||
**To complete this checkpoint**, show a TA or mentor your diagram and your debugged function(s) to
|
||||
reverse a homemade singly-linked list.
|
||||
|
||||
28
labs/06_lists_iterators/reference_to_a_pointer.cpp
Normal file
28
labs/06_lists_iterators/reference_to_a_pointer.cpp
Normal file
@@ -0,0 +1,28 @@
|
||||
/* This example demonstrates the usage of passing a pointer by reference.
|
||||
* It is needed when you want to modify the pointer.
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
|
||||
// function to modify the value of a pointer through reference
|
||||
void modifyPointer(int* & ptr, int& newValue) {
|
||||
ptr = &newValue; // assign the address of newValue to the pointer
|
||||
}
|
||||
|
||||
int main() {
|
||||
int value = 42;
|
||||
int* ptr = &value;
|
||||
|
||||
// print the original value of the pointer
|
||||
std::cout << "Original value of pointer: " << *ptr << std::endl;
|
||||
|
||||
int newValue = 100; // new value to assign to the pointer
|
||||
// pass the pointer by reference to the function, so that we can change the pointer
|
||||
modifyPointer(ptr, newValue);
|
||||
|
||||
// print the modified value of the pointer
|
||||
std::cout << "Modified value of pointer: " << *ptr << std::endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user