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没有定义。
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没有定义。
相关文章推荐
- 2012/1/19 《C++ Primer Plus》第七章:函数——C++编程模块 学习笔记
- C++ Primer Plus学习:第七章 函数-C++的编程模块(2)
- C++ Primer Plus学习:第七章 函数-C++的编程模块(3)
- 《C++ Primer Plus》第7章 函数——C++的编程模块 学习笔记
- C++ Primer Plus学习:第七章 函数-C++的编程模块(1)
- C++ Primer plus 学习笔记之第七章(2)函数指针
- C++ Primer Plus学习:第七章 函数-C++的编程模块(4)
- 【学习笔记】C++primer plus 8.函数探幽
- 2012/1/21 《C++ Primer Plus》第八章:函数探幽 学习笔记
- C++ Primer Plus 学习笔记之函数探幽----1
- C++ Primer plus 学习笔记之第七章(1)
- C++ Primer plus 学习笔记之第八章函数探幽(1)
- C++ Primer Plus 第六版 学习笔记 第七章 编程练习答案
- 函数——c++的编程模块(c++primer plus 第七章)
- 《C++ Primer Plus(第六版)》(9)(第七章 函数 笔记和答案)
- 《C++ Primer Plus》第8章 函数探幽 学习笔记
- C++ Primer Plus(第七章 函数—C++的编程模块)内容精要
- C++ Primer Plus学习笔记之STL函数对象
- C++ Primer Plus课后编程练习——第七章 函数-C++的编程模块(部分)
- 第七章:函数--c++的编程模块 学习笔记、习题答案(6)