每日多问:&的用途是什么啊

为什么在bool函数那里要用&而不是直接用c1,c2呢
还想问一下在调用bool函数的时候if(ret)是什么意思啊

class cube
{
public:
//行为
    //1.设置获取长宽高    
void seth(int H)
    {
        h=H;
    }
void setm(int M)
    {
        m=M;
    }    
    
void setn(int N)
    {
        n=N;
    }    
int geth()
{
    return h;
}
int getm()
{
    return m;
}
int gein()
{
    return n;
}


    //2.获取立方体面积和体积
int calculateS()
{
    return 2*(m*n+m*h+n*h);
 } 
int calculateV()
{
    return m*n*h;
}
 
    //3分别用全局函数和成员函数 判断两个立方体是否相等 
    

//属性 
private:
    int m,n,h;
};

//利用全局函数判断 两个立方体是否相等
bool isSame(cube &c1,cube &c2)
{
    
 } 


int main()
{
    cube c1;
    c1.seth(10);
    c1.setm(10);
    c1.setn(10);
    
    cout<<"c1的面积为:"<<c1.calculateS()<<endl;
    cout<<"c1的体积为:"<<c1.calculateV()<<endl;
    
    //创建第二个立方体
    cube c2;
    c2.seth(10);
    c2.setm(10);
    c2.setn(10);
    
    cout<<"c2的面积为:"<<c2.calculateS()<<endl;
    cout<<"c2的体积为:"<<c2.calculateV()<<endl;
    bool ret = isSame(c1,c2);
    if(ret)
    {
        cout<<"right";
    }
    else
    {
        cout<<"wrong";
    }

    return 0;
}

表明变量是引用类型
判断是否相等用引用类型价值不是很大。一般用引用类型的目的,一是实现参数返回值效果,可以通过修改参数实现对传入变量的修改;二是能节省传递变量的复制过程,一般针对变量所占用空间比较大,直接传递个引用或者指针。但如果不希望函数内部修改传入变量的话,会加上const修饰符。

那里&表示引用
if (ret)表示判断ret的值是否是true,如果是true,则输出right,否则输出wrong