2021年3月6日引用等

回顾:引用和指针

int swap2(int &x,int &y){//引用传值
   
}
swap2(a,b);

int swap2(int *x ,int *y){//指针传值
    
}
swap2(&x,&y),传入的时候要传入指针型变量,记得加取地址符

新内容

关于函数中传值是否传入引用

如果函数中修改的变量是临时变量,又是放入引用值,编译器会报错,(部分会报错)

即临时变量引用,编译器会报错,引用临时变量不可以

例如

ostream& operator(ostream& mycout,Cmycomplex & z){//这里z引用了临时变量
    。。。
    return mycout;
}

cout << z1+z2;//会报错,这里首先+的重载返回的是临时变量

//修改:
ostream& operator(ostream& mycout,const Cmycomplex & z){//z变成了常量的引用,这时候再编译就能通过,const使引用变为只读
    。。。
    return mycout;
}
cout << z1+z2;//可以通过

const此处作用就是让变量变成只读引用,加了const之后就不可以对其进行修改了。

this指针

this指针指向实例自己,*this就是自身

Node returnmyself(){
	return *this;
}

前置++,++i

Cmytime & Cmytime :: operator++(){//注意返回值是带引用的,注意函数的没有引用的返回值和参数都是临时变量
	s++;
    return *this;
}//返回对象本身,并且返回的是引用值,而不是临时值

后置++,i++,不返回引用

Cmytime  Cmytime:: operator++(int){//这里int是哑元,没有实际意义,不要返回临时变量的引用
    const Cmytime oldt = *this;
    s++;
    return oldt;
    
}

const知识点

const修饰函数的时候表明此函数只能只读类成员

class Node{
    void Show() const{
    
}//加上const表示此函数只能读类中的成员,不允许修改成员
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值