1.内置函数
inline必须在调用前进行完整定义,语#define相同,但是消除了不安全性
例:inline float circle(float r)
{return 3.1416*r*r;}
2,函数原型
语法形式:返回类型 函数名(参数表);
(1)函数原型的参数表中不包含参数的名字,而只包含类型;
(2)函数定义由函数说明部分和函数体构成;
(3)c++的参数说明必须放在函数后面的括号内;
(4)主函数main不必进行原型说明
(5)原型说明中没有指出返回类型的函数,c++默认返回类型为int;
(6)无返回类型需定义void;
(7)如果函数原型中未注明参数,C++假定该函数的参数表为空,在c++中 f()=f(void)
3,带有缺省参数的函数
(1)在函数原型中,所有取缺省值的参数都必须出现在不取缺省值的参数的右边;
(2)在函数调用时若某个参数省略,则其后的参数皆应省略而采用缺省值;
4.函数重载
函数参数类型不同和个数不同,引起重载
(1)参数需有不同
(2)最好能执行相同的操作
5.作用域运算符::
局部变量载其作用域内具有较高的优先权;
在局部变量的作用域中使用同名的全局变量,用::运算符
6.无名联合
在关键字union后面没有联合名,可以直接使用其中变量;
7.强制类型转换
int i=10;
float x= (float)i;
float x=float(i);
c++都接受
8.new和delete
使用new自动返回正确的指针类型,需要用delete回收
9.引用
引用是能自动间接引用的一种指针,"type &"
int i=5;
int &j=i;
i和j使用同一内存位置,i变化j随之变化;
注意的地方:
- 定义引用时必须立即初始化
- 为引用提供初始值可以是一个变量或者另一个引用
- 引用实际上是一种隐式的指针
- 引用不可以重新赋值
- 引用不同于普通变量
错误的用法:
- int &*p; //不能建立指向引用的指针;
- int &&; // 不能建立引用的引用;
- int &p[3]; //不能建立引用数组;
引用的返回值:可以将函数用在赋值运算符的左边;