- 函数签名:除函数名以外的返回类型、参数等
- #include<>格式:引用标准库头文件,编译器从标准库目录开始搜索
#include“”格式:引用非标准库的头文件,编译器从用户的工作目录开始搜索 - malloc、free函数:#include
- 运算符重载 &,有些时候函数声明在operator前有&…有时候没有…为什么?(int &operator[](int n))
&表示返回值类型是引用
什么时候需要返回引用, 基于两点
第一是需求, 有些情况语法要zd求必须返回引用
比如重载=操作符, 返回引用才专可写出 a1=a2=a3这样的语句
再如[]操作符, 返回引用才能实现这样的语句: a[0]=1;
第二是效率问题:
很多情况是不需要返回引用的, 比如双目的+, 可以是返回一个对象的副本, 但是返回引用比返回对象的副本效率要高, 因为返回副本最少要有两次拷贝构造被调用, 对于一个体积比较大的类来说, 时间上的开销还属是要考虑的. 所以这时常用返回const引用来代替返回副本. - fun(const &int n);在调用时的作用相当于fun(int n);,因为后者在调用时需要复制一遍n的值,将其副本赋值给返回值,这种方法在参数类型非常大时十分浪费时间,因此有了前者的表达形式,用引用符号取参数地址,但又通过const防止改变参数的值,妙啊