2022-02-28

函数重载

特征标-函数参数

函数模板

template;
void Swap(Any &a,Any &b);

模板的重载

void Swap(Any[],Any[],int n);

显示具体化

template<> void Swap(int &,int &);

头文件管理

如果没有被定义过才查看 idndef 和endif之间的内容

#ifndef COORDIN_H_
...
#endif

存储持续性

  1. 自动

程序执行时被创建,执行完时被释放

堆栈实现

没有使用说明符时与auto等效


image.png

寄存器实现

register int y;  //寄存器没有地址 &y not allowed
  1. 静态

  • 函数定义外的变量和static定义的变量,在程序整个运行过程都存在。(使用固定内存块)

  • 默认初始化为0,只能使用常量表达式来初始化;

  • 与自动变量同名时将被覆盖,使用extern重新声明可使用以前的外部变量


    使用同名外部变量
  • ::放在变量前表示使用全局版本


    ::表示作用域解析操作符

外部链接性

代码块外部声明;

  • 在其他文件使用时要加上extern

内部链接性

代码块外部声明且加staic关键字

  • 声明与其他文件同名外部变量时会冲突,使用static可隐藏其他文件的变量

无链接性

代码块内部声明且加static关键字


静态变量链接性
  1. 动态

new操作符分配的内存,一直存在,直到delete将其释放或程序结束。

你可能感兴趣的:(2022-02-28)