2022-02-28

函数重载

特征标-函数参数

函数模板

template<class Any>;
void Swap(Any &a,Any &b);

模板的重载

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

显示具体化

template<> void Swap<int>(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将其释放或程序结束。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1,快速排序又称分治排序 主要是运用了指针和递归的思想,运行速度极快,节约内存 public class 快速排序...
    褚满_8期强化班阅读 167评论 0 0
  • (五)函数模板 1.函数模板的使用:属于泛型编程的一种 函数模板,template<typename AnyTy...
    阿厉a_li阅读 354评论 1 5
  • 1.C和C++的区别?C++的特性?面向对象编程的好处? 答:c++在c的基础上增添类,C是一个结构化语言,它的重...
    杰伦哎呦哎呦阅读 9,964评论 0 45
  • C++内联函数 要使用这种特性,必须采取下述措施之一: 在函数声明钱加上关键字inline; 在函数定义钱加上关键...
    鬼枭嗜阅读 444评论 0 0
  • enum 枚举enum spectrum{red, orange, yellow, green, blue, vi...
    i_Eloise阅读 452评论 1 0

友情链接更多精彩内容