c++ 什么时候用指向指针的指针

void test(int *s) {
        int tmp = 100;
        s = &tmp; //尝试对s的指向做了改变,但只是在局部有效
        cout<< *s <<endl;

    }

    void test2(int **s) {
        int tmp = 100;
        *s = &tmp;//对s的指向做了改变,即改变了s的指向,之前s指向的数并没有改变
        cout << *s << endl;

    }

    void test3(int *s) {
        int tmp = 100;
        *s = tmp; //对s指向的数的值做了改变。
        cout << *s << endl;

    }

int main() {

        int T = 99;
        int *p = &T;
        cout << *p <<endl;
        //test(p);
        test2(&p);
        //test3(p);

        cout << *p <<endl;

}

其中,test2和test3都可以实现目的,区别已经备注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值