函数基础
基本与C语言差不多
参数传递
通常来说,往函数传递参数一般是拷贝传递给函数,会开辟一个新的空间,然后在函数结束时回收这个空间,所以在函数体内改变参数的值不会对函数体外产生作用的,最后返回给主函数一个值。
由于传参本质是拷贝,即开辟一块新空间来复制一个完全一样的对象,为了对外也起作用,我干脆传我需要改变对象的地址,函数接收到的是这个对象的地址,所以在函数体内改变的是这个地址的内容,那么主函数再取这个地址的值自然也就改变了,而且传地址返回地址,返回的就不一定只是一个值,而是地址那片连续的内存。传地址可用指针或引用,区别是指针是对象,占空间,而引用官方说不是对象,只是别名,不占用内存,所以引用更好。
这节真的较难,得多回去翻翻书。
返回类型和return
真tm难,为什么同一个功能有那么方法。。。
函数重载
函数重载就是,函数名相同,但形参列表不同。
重载不能分辨const。
就近原则。
特殊用途语言特性
默认实参: 函数的形参有个初始值。传参会覆盖形参的初始值。
内联函数:快、小代码量的函数。
constexpr函数:常量表达式函数,返回值是一个字面值。
函数指针
为什么不直接调用函数而要使用函数指针?唉,不写了,书上都有,太烦了,靠,是我这种新手理解不了的,等后面用到再来学。
后谈
好烦啊,东西好tm多,又不知道有啥用,越学越烦。不行,我得再快点过一遍,写项目时来巩固。