C++|friend,inline

本文介绍了友元函数的声明方法,包括友元函数和友元类的概念,以及内联函数的使用限制。重点讲解了如何通过内联提高代码效率,但强调了类内函数默认内联的例外。
  • friend

在定义一个类时,可以把一些函数声明为“友元”。

即,友元函数,使用friend关键字进行声明。友元函数可以访问该类对象的私有成员。

写法:将全局函数声明为友元的写法:

friend 返回值类型 函数名(参数列表);

 将其他类的成员函数声明为友元的写法:

friend 返回值类型 其他类的类名::成员函数名(参数表);

 不能把其他类的私有成员函数声明为友元。

友元类

一个类 A 可以将另一个类 B 声明为自己的友元,类 B 的所有成员函数就都可以访问类 A 对象的私有成员。在类定义中声明友元类的写法如下:

friend class 类名;
  • inline

内联函数关键字

栈空间是存放程序的局部数据(即函数内部数据)的内存空间,栈空间是有限的,加入频繁大量的使用会造成因栈空间不足而程序出错,如:程序的死循环递归调用。

inline只适合代码简单的函数体使用,不能包含复杂的结构控制语句,如while、switch。

定义在类中的成员函数,默认是内联的。

但是,在类中定义函数,不是一个良好的编程习惯。所以一般是在类中声明函数,在类外用linline关键字修饰。

inline必须与函数定义放在一起才可以使函数称为内联,仅将inline放在函数声明前是不起作用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值