1 引用:
- 通过对象名称直接访问对象,优点是直观,操作哪个对象一目了然,缺点一个函数内部不能使用另一个函数的局部变量;
- 通过指针(或地址)间接访问对象,优点是无所不能,缺点是程序中大量出现的间接访问,实在分不清具体是哪个对象,需要通过上下文去分析;
C++扩充了C语言对象访问方式, 提供了引用访问。 通过引用访问
对象,结合了按名访问和按地址访问各自的优点,非常适合作为函数参数。
引用的规则:
引用作为函数形参
引用作为函数返回值
2 指向函数的指针
函数是实现特定功能的程序代码的集合,实际上,函数代码在内存中也要占据一段存储空间(代码区内),这段存储空间的起始地址称为函数入口地址。C++规定函数入口地址为函数的指针,即函数名既代表函数,又是函数的指针(或地址)。
通过函数指针调用函数
函数指针的用途
3 new与delete运算
C++内存分配有两种方式: 静态分配和动态分配。
静态分配指在编译时为程序中的数据对象分配相应的存储空间,由于是在编译时为数据对象分配存储空间,因此就要求在编译时空间大小必须是明确的,所以数组的长度必须是常量。而一旦编译完成,运行期间这个数组的长度就是固定不变的。
new和delete运算符
Array new 一定要搭配 Array delete !!!注意:
4 动态内存的应用:
- 动态内存举例:
5 动态分配数组
使用动态内存,可以轻而易举地解决这样的问题:在程序运行时产
生任意大小的“数组”。动态分配一维或多维数组的方法是由指针管理数组,二维以上数组
按一维数组方式来处理,具体步骤为:
举例:
6 动态分配字符串
- 实际编程中,字符串类型表示文字信息数据,其特点是字符长度不固定。通过动态分配字符串,根据程序的需要确定字符串的实际长度。