首页 > 编程语言 > 详细

C++的指针,引用,指向指针的引用和Java中的引用

时间:2020-05-30 11:31:26      阅读:40      评论:0      收藏:0      [点我收藏+]
#include <iostream>
#include<algorithm>
using namespace std;

class Test {

public:
    Test(int num) {
        this->num = num;
    }

public:
    int num;
};
//引用
void change0(Test& t) {
    t.num = 2;
    Test temp(3);
    t=temp;
    Test test(4);
    t=test;
    // t = new Test(3); // 报错
}
//指向指针的引用
void change1(Test* & t) {
    t->num = 2;
    t = new Test(3); 
}
//指针
void change2(Test *t) {
    Test *a=t;
    cout<<t<<" "<<&t<<" "<<(*t).num<<endl;//t表示指针里存的值即指向的对象的地址,&t表示指针自身的地址,*t表示指向的对象的值
    t->num = 2;
    t = new Test(3);    // 指针再次赋值,指向新内存 
}

int main(int argc, char const *argv[])
{
   
    Test t3(1);
    cout << "------引用---------" << endl;
    cout << t3.num << endl;
    change0(t3);
    cout << t3.num << endl;

    Test *t2 = new Test(1);
    cout << "------指针---------" << endl;
    cout << t2->num << endl;
    change2(t2);
    cout << t2->num << endl;

    Test *t = new Test(1);
    cout << "------指针的引用---------" << endl;
    cout << t->num << endl;
    change1(t);
    cout << t->num << endl;
    system("pause");
    return 0;
}

C++的指针,引用,指向指针的引用和Java中的引用

原文:https://www.cnblogs.com/GarrettWale/p/12991221.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!