- 6
- 0
- 约2.01千字
- 约 5页
- 2020-11-03 发布于浙江
- 举报
PAGE 1
软件工程师面试问题及答案
点击查看:
相关推荐: | | | |
谈谈指针和引用的区别?
指针用操作符“*”和“-”,引用使用操作符“”. 相同点是:指针与引用都是让你间接引用其他对象。
区别:(1). 指针是一个实体,指向一块内存,它的内容是所指内存的地址;而引用仅是个别名,是某块内存的别名。
(2). 引用使用时无需解引用(*),指针需要解引用;
(3). 引用只能在定义时被初始化一次,之后不可变,“从一而终”;指针可变;
(4). 引用没有 const类型,指针有 const类型,const 的指针不可变;
(5). 引用不能为空,指针可以为空;
(6). “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;typeid(T) == typeid(T) 恒为真,sizeof(T) == sizeof(T) 恒为真,但是当引用作为成员时,其占用空间与指针相同(没找到标准的规定)。
(7). 指针和引用的自增(++)运算意义不一样;
你在程序代码中用assert吗?assert一般用于做什么?
(1) 是我常用。
(2)主要用于DEBUG下断言,即假设一定是这样的,否则就是错误的。例如 asser ( a 100 );
i++ 相比
原创力文档

文档评论(0)