函数接口的两个要素是参数和返回值。C
语言中,函数的参数和返回值的传递方式有两种:值传递(pass by value)和指针传递(pass by pointer) 。C++ 语言中多了引用传递(pass by reference)。由于引用传递的性质象指针传递,而使用方式却象值传递,初学者常常迷惑不解,容易引起混乱,请先阅读 6.6 节“引用与指针的比较” 。
函数 free 的原型如下: void free( void *
memblock ); 如果 p 是 NULL 指针,那么 free 对 p 无论操作多少次都不会出问题。如果 p 不是 NULL
指针,那么 free 对 p连续操作两次就会导致程序运行错误。
运算符 new 使用起来要比函数 malloc
简单得多,例如: int *p1 = (int *)malloc(sizeof(int) * length); int
*p2 = new int[length]; 这是因为 new 内置了
sizeof、类型转换和类型安全检查功能。对于非内部数据类型的对象而言,new
在创建动态对象的同时完成了初始化工作。如果对象有多个构造函数,那么 new 的语句也可以有多种形式。