第三章 C++中的C

简介:提供在C++中使用C风格的背景知识


3.1 创建函数

在C++中,函数定义的参数列表中,可以使用未命名的参数。当然因为它未被命名,所以不能在函数体中使用它。

C++函数原型必须指明函数返回值,C中可以省略返回值,表示默认为 int 

可变参数函数: void fun(int a, ...);

3.2 执行控制语句

goto :可以跳出多层for语句或while语句

3.3 运算符简介

3.4 数据类型简介

数据类型定义了使用存储空间的方式。通过定义数据类型,告诉编译器怎样创建一片特定的存储空间,以及怎样操纵这片存储空间。

系统头文件 limits.h float.h 中定义了不同的数据类型可能存储的最大值和最小值。

指针的作用:

1)修改外部对象

2)为了获取灵活的编程技巧

C和C++中的指针的作用基本上是一样的,但是C++增加了另一种给函数传递地址的途径:引用传递(pass-by-reference)

引用和指针的不同之处在于:带引用的函数调用比带指针的函数调用在语法构成上更清晰。

如果声明指针是void*,它意味着任何类型的地址都可以间接引用这个指针。

我们可以使用void指针,但不可以使用void引用。

3.5 作用域

C++(不是C)允许在作用域的任意地方定义变量。

通常可以认为在whileifswitch语句中定义变量的能力是为了完备性,但是唯一使用这种变量定义的地方可能是在for循环中。

3.6 指定存储空间分配

如果想使局部变量的值在程序的整个生命周期仍然存在,我们可以定义函数的局部变量为static,并赋初值。

static变量的优点是在函数范围之外它是不可用的。

可以使用关键字static特地强制它们具有内部连接,也可以在定义时使用关键字extern显式指定标识符具有外部连接。

预处理器并不识别作用域。

3.7 运算符及其使用

3.8 创建复合类型

在C++中对枚举的类型检查比在C中更严格。

如果声明一个数组为函数参数,实际上真正声明的是一个指针。

parameterargument的区别:

1. parameter是指函数定义中参数,而argument指的是函数调用时的实际参数。

2. 简略描述为:parameter=形参(formal parameter), argument=实参(actual parameter)。

3. 在不很严格的情况下,现在二者可以混用,一般用argument,而parameter则比较少用。

cout std:cout 的区别

3.9 调试技巧

#define PR(x) cout << #x  " = “ << x << "\n"; 

3.10 函数地址

void (*funcPtr) (); 定义一个指针指向一个无参无返回值的函数。

void *funcPtr ();  声明一个函数,该函数返回值是一个 void类型的指针。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容