一些很基础的知识,复习、重温。
1、const修饰符最重要的用途是:函数传参和类继承;
void gun(const struct bigSize *p);
用指针传参,且确保通过形参不会改变主调函数的数据。
2、应用程序与内存的关系
代码区:应用程序的指令集合
数据区:外部变量和内部静态变量;
栈区:函数执行时放函数的形参和auto型变量;
堆区(自由存储区域或内存池):当前的应用程序和其他进程的应用程序使用;动态内存分配;
3、new和delete
动态内存的分配和撤销是通过标准函数malloc和free来实现。
堆对象是通过new和delete生成和撤销。
4、内联函数-inline
适合设置为inline的函数:函数体内的语句数量较少,函数名字在源程序里出现的次数也不是很多,实际调用次数却很多。
内联函数的实质:函数定义后,编译器将其编译成一个指令集合。这个指令结合在程序运行时会出现在内存的代码区里,并且在调用到此函数时程序执行的地址会跳转到这个集合的入口地址,指令集合执行完后,再跳转到主调函数。如果用inline声明函数,则编译器不创建真实函数,而只将inline函数的指令集合复制到主调函数中的调用位置,函数调用跳转不存在。
5、有关引用
引用实际是作为指针变量来对待。
引用的主要用途是函数传参。
const引用,确保被调函数不会改变主调函数数据的值。