- 指针和引用的区别
相同∶都是地址的概念;
指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。
区别∶
1.指针是一个实体,而引用仅是个别名
2.指针和引用的自增(++运算意义不一样,指针是对内存地址的自增,引用是对值的自增;
量或对象的地址)的大小;
3.引用使用时无需解引用(*),指针需要解引用;
4.引用只能在定义时被初始化一次,之后不可变;指针可变;
5.引用不能为空,指针可以为空;
6.引用没有 const,指针有 const;(好像有啊,const int &a= 1)
7."sizeof 引用"得到的是所指向的变量(对象)的大小,而"sizeof 指针"得到的是指针本身(所
指向的变
8.从内存分配上看∶程序为指针变量分配内存区域,而引用不需要分配内存区域。
指针和引用之间怎么转换∶
指针转引用∶把指针用* 就可以转换成对象,可以用在引用参数当中。引用转指针∶把引用类型的对象用 &取地址就获得指针了。
- Delete
Delete是一个运算符,用于销毁由新表达式创建的数组和非数组(指针)对象。
1.可以通过使用Delete运算符或Delete []运算符来使用Delete
2.New运算符用于动态内存分配,这会将变量放在堆内存中。
3.这意味着Delete运算符从堆中释放内存。
4.指向对象的指针没有被破坏,指针所指向的值或存储块被破坏
什么时候用进程,什么时候用线程
答∶
创建和销段较频繁使用线程,因为创建进程花销大嘛。
* 需要大量数据传送使用线程,因为多线程切换速度快,不需要跨越进程边界。
* 并行操作使用线程。线程是为了实现并行操作的一个手段,也就是刚才说的
需要多个并行操作"合作完成大事",当然是使用线程啦。
* 最后可以总结为;安全稳定选进程;快速频繁选线程;