How to pass reference to a pointer in C++

3 Answers

0 votes
#include <iostream>

void changeValue(int *p) {
    *p = 700;
}
  
int main()
{
    int n = 12;
    int *p = &n;
  
    std::cout << *p << " " << n << "\n";
  
    changeValue(p);
  
    std::cout << *p << " " << n << "\n";
}
     
     
     
     
/*
run:
   
12 12
700 700
      
*/

 



answered May 12, 2021 by avibootz
edited Feb 23, 2022 by avibootz
0 votes
#include <iostream>

int globaln = 33;

void changeValue(int **p) {
    *p = &globaln;
}
  
int main()
{
    int n = 12;
    int *p = &n;
  
    std::cout << *p << " " << n << " " << globaln << "\n";
  
    changeValue(&p);
  
    std::cout << *p << " " << n << " " << globaln << "\n";
}
     
     
     
     
/*
run:
   
12 12 33
33 12 33
      
*/

 



answered May 12, 2021 by avibootz
edited Feb 23, 2022 by avibootz
0 votes
#include <iostream>

int globaln = 33;

void changeValue(int *&p) {
    p = &globaln;
}
  
int main()
{
    int n = 12;
    int *p = &n;
  
    std::cout << *p << " " << n << " " << globaln << "\n";
  
    changeValue(p);
  
    std::cout << *p << " " << n << " " << globaln << "\n";
}
     
     
     
     
/*
run:
   
12 12 33
33 12 33
      
*/

 



answered May 12, 2021 by avibootz
edited Feb 23, 2022 by avibootz

Related questions

1 answer 110 views
1 answer 223 views
1 answer 175 views
1 answer 179 views
1 answer 94 views
94 views asked Dec 19, 2024 by avibootz
1 answer 124 views
...