【C++】Pointer to Pointer

Pointer to Pointer 顾名思义就是指标的指标~

它可能是一个变数的地址的地址~

我们要在function间~传递Pointer的时候~ 会用到Pointer to Pointer~


学习目标: Pointer to Pointer的概念及实务

学习难度: ☆☆★


Pointer函式传输parameter没side effect


#include <iostream>

using namespace std;

int value1 = 5;

void changePtr (int *valuepointer)
{
    valuepointer = &value1;
}

int main ()
{
    int value2 = 10;
    
    int *value2Ptr = &value2;
    
    changePtr (value2Ptr);//因为这里还是copy的概念....类似call by value
    
    printf ("%d\n", *value2Ptr); //will print 10
    
    return 0;
}

Pointer Pointer函式传输parameter有side effect

#include <iostream>

using namespace std;

int value1 = 0;

void changePtr (int **valuepointer) //value2指标的地址
{
    *valuepointer = &value1; //value2指标= value1地址
}

int main ()
{
    int value2 = 1; //value2整数
    
    int *value2Ptr = &value2; //value2指标
    
    changePtr (&value2Ptr); //取value2指标的地址丢去函式
    
    printf ("%d\n", *value2Ptr);///will print 5
    
    return 0;
}

参考资料:

http://low-understated.blogspot.com/2009/04/pointer-to-pointer.html


<<:  MyDlink 网路摄影机云端录影档案下载

>>:  【C++】使用CMD 测试资料

[DAY28]GKE-Google Kubernetes Engine

GKE GKE是GOOGLE在GCP上面的k8s cluster服务,对於GCP使用者来说,GKE可...

Day16 Grafana (Match Making)

昨天我们安装了 Prometheus 与 Grafana ,来协助我们观察 Open-Match 的...

粗略的HDR理解

正如同Gamma校正一样,只要是跟电脑图像相关的,一定会听过HDR这个词,今天跟昨天(Day27)一...

[Angular] Day3. angular.json

在上一篇中介绍了什麽是 Angular CLI 与他可以提供许多方便功能,不过只是大概介绍他的用法与...

[Day24] 求值策略

先 po 文.. Call by Value 传值 Call by Reterence 传参照 Ca...