且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

C++学习014函数值传递和地址传递

更新时间:2022-08-14 18:18:19

区别就是一个本身不被改变,而另一本身也在改变,

 

在开发时候都会用到,

 

这里做下记录

 

#include <iostream>
 
using namespace std;
 
 
class Test
{
    public:
        Test(int a)
        {
            num = a;
        }
        void setnum(int a)
        {
            num =a;
        }
        int getnum()
        {
            return num;
        }
    private:
        int num;
};
 
 
 
void add(Test t)
{
    t.setnum(t.getnum()+t.getnum());
    cout<<"\nf num value add:";
    cout<<t.getnum()<<endl;
}
 
void add1(Test *t)
{
    t->setnum(t->getnum()+t->getnum());
    cout<<"\nf num value add:";
    cout<<t->getnum()<<endl;
}
 
 
 
int main()
{
    cout << "Hello world!" << endl;
 
 
    Test tt(100);
    add(tt);
    cout<<"object tt not chaange is main:";
    cout<<tt.getnum()<<endl;
 
    Test tt1(100);
    add1(&tt1);
    cout<<"object tt not chaange is main:";
    cout<<tt1.getnum()<<endl;
 
 
 
 
 
    return 0;
}
<img src="https://img-blog.csdn.net/20160815152346411?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />