《C++编程思想》内联,静态成员,引用 笔记

一、内联函数

•保持效率的一个方法是使用宏,但存在两个问题:一是宏看起来像一个函数调用。但并不总是这样。这样就隐藏了难以发现的错误。二是预处器不允许访问类的成员数据,所以引入了内联函数。

•一般地,任何种类的循环都被认为太复杂而不扩展为内联函数。假如函数有许多语句,也不建议使用内联。假如要显式地或隐式地取函数地址,编译器也不能执行内联。内部链接的一个好处是这个名字可以放在一个头文件中而不用担心链接时发生冲突。那些通常放在头文件里的名字,如常量,内联函数,在默认情况下都是内部链接的。

二、 静态数据成员:
类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点:
1.静态数据成员的定义。
静态数据成员实际上是类域中的全局变量。所以,静态数据成员的定义(初始化)不应该被放在头文件中。
2.静态数据成员被 类 的所有对象所共享,包括该类派生类的对象。即派生类对象与基类对象共享基类的静态数据成员。

3.静态数据成员可以成为成员函数的可选参数,而普通数据成员则不可以。

4.★静态数据成员的类型可以是所属类的类型,而普通数据成员则不可以。普通数据成员的只能声明为 所属类类型的 指针或引用。

5静态成员函数不能访问一般的数据成员,而只能访问静态数据成员,也只能调用其他的静态成员函数。

三、引用

•当引用被创建时,它必须被初始化(指针则可以在任何时候被初始化)。

•一旦一个引用被初始化为指向一个对象,它就不能改变为另一个对象的引用(指针则可以在任何时候指向另一个对象)。

•不可能有NULL引用,必须确保引用是和一块合法的存储单元关联。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值