c++笔记(3):函数内联、重载、宏定义、static和extern、存储区域

本文详细介绍了C++中的函数内联、函数重载、宏定义的使用,以及static和extern的关键字作用。讲解了static如何修饰局部变量、全局变量和函数,以及extern在声明外部变量和函数时的作用。同时,概述了存储区域的概念,包括BSS段、数据段、代码段、堆和栈的特点。
摘要由CSDN通过智能技术生成
1.内联函数:编译器在编译时,将内联函数的调用以相应代码代替,内联函数仅在函数原型作一次声明。适用于只有1到5行的小函数不能含有复杂结构控制语句,不能递归调用

声明格式:inline  函数原型


2.函数重载:多个同名函数有不同的参数集,编译器根据不同参数的类型和个数产生调用匹配,函数重载用于处理不同数据类型的类似任务。

参数个数相同,参数类型不同
参数个数不同(使用默认参数时会出错)


3.

自动存储类变量存放在栈区,进入声明的块时生成,在结束块时删除。函数的参数和局部变量都是自动存储类,自动存储是变量的默认状态。


4.

关键字extern和static声明静态存储类变量或函数的标识符
extern和static说明变量时,程序开始执行时分配和初始化存储空间 
extern和static说明函数,表示从程序执行开始就存在这个函数名 
C++不对自动变量初始化,对静态变量默认初始化值为0
静态变量具有记忆性,其值等于上一次函数调用时保留的值

5.
具有文件作用域的变量称为全局变量;具有函数作用域或块作用域的变量称为局部变量
全局变量声明时默认初始值为0
当局部量与全局量同名,在块内屏蔽全局量
为了在块内访问全局量,可以用域运算符 " :: "

6.
# include  <文件名>
或# include  "文件名(自定义的头文件)"  

7.
条件编译:
# if  常量表达式
程序段
# endif
或者
# if  常量表达式
程序段1
# else
程序段2
# endif
或者
# if  常量表达式1
程序段1 
# elif  常量表达式2
程序段2

# elif  常量表达式n
程序段n
# else
程序段n+1

# endif

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值