《高质量程序设计指南——C/C++》第7章 C/C++指针、数组和字符串
2013-01-13 09:52
471 查看
第7章 C/C++指针、数组和字符串
7.1 指针
1、指针就是地址,即存储该指针指向的变量的地址。
2、void* 类型的指针能够被任何类型的指针赋值,因此它不能参与算术运算,只能进行赋值、比较和sizeof()操作。
7.2 数组
1、数组名实际上就是数组的首地址。
2、delete 和 delete[] 的语义。
3、现代C++程序中,应该尽量避免使用数组。而使用vector<T>代替。
7.3 字符数组、字符指针和字符串
1、概念
字符数组:元素类型为char的数组,里面可能有也可能没有字符串结束标志符'\0'。
字符串:也是字符数组,而且肯定是以字符串结束标志符'\0'结束的。
字符指针:即char*, 指向字符串的指针。注意:用来操作字符串的库函数认为字符指针是指向含有字符串结束标志符'\0'的字符串。
2、现代C++程序中,应该尽量避免使用字符数组和字符指针。而用string代替。
7.4 函数指针
1、函数指针即函数的地址。在C/C++中,函数名即表示函数的地址,因此可以将函数名直接赋值给具有相同类型的函数指针。
2、一般函数指针
3、类成员函数指针
7.5 引用和指针的比较
记得毕业找工作那会,在网上看到的面试题中,经常有这样的问题,那时背答案啊,呵呵。
引用和指针其实是两个不同的概念。我现在已经不能流利的说出他们的区别了,但是似乎在实际的使用过程中,我能够区别二者。
有一点容易被误解:引用的创建和销毁不会调用类的构造函数和析构函数。引用只不过是对象(变量)的别名而已,不是实实在在的对象。
引用的主要用途是修饰函数的形参和返回值。
7.1 指针
1、指针就是地址,即存储该指针指向的变量的地址。
2、void* 类型的指针能够被任何类型的指针赋值,因此它不能参与算术运算,只能进行赋值、比较和sizeof()操作。
7.2 数组
1、数组名实际上就是数组的首地址。
2、delete 和 delete[] 的语义。
3、现代C++程序中,应该尽量避免使用数组。而使用vector<T>代替。
7.3 字符数组、字符指针和字符串
1、概念
字符数组:元素类型为char的数组,里面可能有也可能没有字符串结束标志符'\0'。
字符串:也是字符数组,而且肯定是以字符串结束标志符'\0'结束的。
字符指针:即char*, 指向字符串的指针。注意:用来操作字符串的库函数认为字符指针是指向含有字符串结束标志符'\0'的字符串。
2、现代C++程序中,应该尽量避免使用字符数组和字符指针。而用string代替。
7.4 函数指针
1、函数指针即函数的地址。在C/C++中,函数名即表示函数的地址,因此可以将函数名直接赋值给具有相同类型的函数指针。
2、一般函数指针
3、类成员函数指针
7.5 引用和指针的比较
记得毕业找工作那会,在网上看到的面试题中,经常有这样的问题,那时背答案啊,呵呵。
引用和指针其实是两个不同的概念。我现在已经不能流利的说出他们的区别了,但是似乎在实际的使用过程中,我能够区别二者。
有一点容易被误解:引用的创建和销毁不会调用类的构造函数和析构函数。引用只不过是对象(变量)的别名而已,不是实实在在的对象。
引用的主要用途是修饰函数的形参和返回值。
相关文章推荐
- Unix/Linux C++应用开发-C++基础概念"数组、指针和字符串"
- C++数组,指针及字符串 (14~18)
- C++利用指针数组和快排对输入的字符串进行排序
- 一道二级C题引发的思考-- c++函数传递指针的本质 与 字符串指针与字符数组的区别
- c++字符串数组与字符串指针 c++ primer plus chapter 7 复习题8 的一点小问题
- 浅谈C++字符数组与字符串指针
- 【C++学习笔记】数组和指针再C-风格字符串的演示
- C++中字符串以及数组和指针的互相使用讲解
- c++学习笔记2——指向字符串的指针数组?
- C/C++——声明一个到字符的指针,包含10个整数的数组,到包含10个整数的数组的引用,到字符串的数组的指针,到字符的指针的指针...
- C/C++基础知识总结——数组、指针域、字符串
- c/c++ 字符数组、字符指针和字符串类型
- C++ 字符数组和字符指针和字符串
- C++基础概念-数组、指针和字符串
- C++_读入很多行字符串到字符串指针数组、或者到字符串数组中
- C/C++(字符串处理)字符指针、字符数组用法大总结
- C/C++字符串,字符数组,字符指针及其相互静态拷贝与追加的安全问题解决方案(2)
- C++ [ 数组,指针,字符串 ]
- C++学习笔记(一)--整形,std输出,浮点数,数组,字符串,结构,指针,循环
- C_PlusPlus学习笔记 - 5_数组、指针和字符串 (C++语言程序设计【第三版】 郑莉等,清华大学出版社)