您的位置:首页 > 编程语言 > C语言/C++

2012/1/19 《C++ Primer Plus》第七章:函数——C++编程模块 学习笔记

2012-01-19 12:50 477 查看
《C++ Primer Plus》第七章学习笔记

79:要使用C++函数,需要完成:

1、提供函数定义;

2、提供函数原型;

3、调用函数。

80:函数如何返回值:通过将返回值复制到指定的CPU寄存器或内存单元中来将其返回,随后调用程序将查看该内存单元。(通过学习计算机组成,这个寄存器是$v0和$v1)

81:C++的编程风格是将main()放在最前面,因为它通常提供了程序的整体结构。

82:Cin.get()函数读取所有的输入字符,包括空格和换行符。

83:Int fun(int a[],int n) ,其中a实际上并不是数组,而是一个指针。

84:比较: int fun(int a[],int n) 和 int fun(int* a, int n)。这两个函数头都是正确的,在C++中,当(且仅当)用于函数头或函数原型中,int* a和int a[]的含义才是相同的。它们都意味着a是指向int的指针。一般来说,用int a[]来表明a是数组;用int* a来表明a指向一个独立的值。

85:就目前而言,请记住两个恒等式:1、a[i] == *(a+i) 2、&a[i] == a+i

86:为了防止函数无意中修改数组的内容,可在声明形参时使用关键字const,例如,void fun(const double a[], int n),意味着函数中不能使用a修改这些数据。

87:对于处理数组的C++函数,传统的方法是传递数组地址和数组长度;另一种方法是传递数组的起始和结束地址。

88:两种不同的方式将const用于指针:

1、让指针指向一个常量对象,防止使用指针修改指针所指向的值;

2、将指针本身声明为常量,防止改变指针指向的位置。

89:Int age = 39;

Const int* pt = &age;

*pt = 20; //错误

Age = 20; //正确

并不是说pt指向的值是常量,而是意味着pt不能修改这个值,但可以通过变量名修改。

90:C++禁止将const对象的地址赋给常规指针。

91:返回C风格字符串的函数:在函数中用new,返回地址,在函数外delete。

92:若有语句int number; cin >> number; 然后输入了一个字符a,则cin返回值为false,a仍然留在输入队列中,此时cin不能再读取,若想让cin继续读取,则需要 cin.clear(),还需要丢弃输入队列中的字符:使用while(cin.get()!= ‘\n’)continue来丢弃字符。

书中的错误:

P189 n_chars函数中的<应改为>;

P192倒数第五行的I应改为i,”ar”少了一个r;

P194程序说明第二行的“16”应改为“32”;

P202 sum函数中的c没有定义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: