面试笔记7(指针和引用)
来源:互联网 发布:mac vi编辑器保存退出 编辑:程序博客网 时间:2024/06/05 20:03
1.若指针保存0值,表明它不指向任何对象。未初始化的指针是无效的,知道该指针赋值后,才可以使用。
2.单目运算符 *比++的优先级高。
3.typedef 说明一种新类型名,来替代已有类型名。在编译时处理,有类型检查。
typedef string *pstring
const pstring cstr;
const修改的是psting类型,这个类型是一个指针类型,所以修饰的是一个指针,所以cstr是一个const指针。这句话是定义cstr是一个指向string类型的const指针。
注意可以变成 const(string *)cstr; cosnt修饰的是string *类型的变量,cstr是常量
和cosnt string *cstr cosnt修饰的是string类型 *cstr是常量。
4.void * 的指针类型,它可以保存任何类型对象的地址。但不允许使用void*指针操作它所指的对象。
5.函数指针 *p 注意两边的括号是必须要加上 (*p)
6.可以使用typedef简化函数指针的定义。
7.在引用函数名但又没有调用该函数时,函数名被将自动解释为指向函数的指针。
函数指针只能通过同类型的函数或函数指针或0值常量表达式进行初始化或赋值。
8.函数的形参可以是指向函数的指针。
9.函数可以返回指向函数指针。
阅读函数指针声明的最佳方法是从声明的名字开始由里向外解释。
10.c++语言允许使用函数指针指向重载的函数。
11.c++中规定一旦定义了引用,就必须把它跟一个变量绑定起来,并且不能修改这个绑定。
引用不能为空,当引用被创建时,它必须被初始化。而指针可以为空,可以在任何使用的时候初始化。
不能有null引用。
sizeof (引用)是所指向变量的大小。sizefo(指针)是指针本身的大小。
如果返回动态分配的对象和内存,必须使用指针,引用可能引起内存泄露。
12.cosnt引用是指向const对象的引用,当引用的对象时const对象时,引用也必须是const的 。
13,对于const类型的成员变量和引用类型的成员变量,都必须在构造函数初始化列表中进行初始化。
凡是有引用类型的数据成员的类,必须定义构造函数。
14.public派生对象可以初始化基类类型的引用。数组可以有引用,但没有引用数组。
15.野指针是指向不可用内存的指针。任何指针变量在创建时,不会自动成为NULL指针,其默认值是随机的,此时的指针就是野指针。
16.注意指针cpp++ 这个会改变cpp的指向。
和cpp[-2] 不一样,这个不改变cpp的指向。
- 面试笔记7(指针和引用)
- 【面试】引用和指针
- 程序员面试宝典笔记2--指针和引用
- 引用和指针笔记
- 程序员面试宝典随笔记(一)----引用和指针
- 面试---指针和引用的区别
- 指针和引用区别笔记
- 程序员面试宝典 7 - 指针与引用
- c++学习笔记1(指针和引用)
- 【C++研发面试笔记】4. 指针与引用
- c++学习笔记-指针和引用
- 个人笔记 指针和引用的区别
- 引用和指针的学习笔记
- 引用(&)和指针(*)
- 指针和引用(c++)
- 指针和指针引用
- 指针和指针引用
- 面试_指针与引用
- 面试笔记6(函数)
- android adb install 错误类型解析 PartI
- [Erlang]解决R17中文编码的问题
- 我的博客
- iOS 之UICollectionView 使用
- 面试笔记7(指针和引用)
- Android系统USR版本获取root权限
- 使用libmagic确定文件MIME类型【示例】
- 面试笔记8(类)
- iframe使用
- iterator 遍历与for循环与foreach的优劣对比
- java反射机制&Annotation详解_II
- 如何在Ubuntu中设置Apache Web 服务器支持 UserDir 特性
- 第十三周 项目1-动物这样叫(2)