Essential c++学习系列第二章 函数与内存机制初探

来源:互联网 发布:多功能数据擦除机 编辑:程序博客网 时间:2024/04/29 05:18

传值方式: pass by value  传值,复制值进行操作

     pass by reference主要适用传递class object

     函数执行体内不能返回local scope,因为函数运行完即释放内存,返回错误

内存机制初窥:

local scope

局部对象,函数内声明,压栈进入内存(程序堆栈),运行完即释放

file scope

全局对象,文件运行完即释放

dynamic extent

有程序的free store分配而来,也称为heap memory,需要程序员自行管理,通过new 和 delete来操作,如果不记得delete会造成memory leak(内存泄露)

refrence,pointer,const

reference不同于pointer无法被设置为0

reference天生自带const特性,只能一次绑定,reference也有出错的时候,类似于常量指针int *const  p=&i;省略赋值也会出错。如int *const p;(与reference类似,声明要先初始化)

例如:

返回local scope

&i=*p(p指向空)

运算符重载只能使用reference

默认参数规则:

函数声明中提供默认参数右边所有的参数也需要提供默认参数值,否则违法。

默认参数只能指定一次,一般头文件。

include双引号和尖括号的区别

双引号一般为程序员定义,一般优先从程序当前目录查找

尖括号一般为常用或一般库,优先从默认路径查找。

1 0
原创粉丝点击