嵌入式学习64-C++(labmda和动态内存分配)

知识回顾:

                Volatile关键字的作用       C++ vector容器详解   浅谈堆、栈、堆区、栈区的概念和区别

知识零碎:                                                                                                                                                          nullptr 空指针     因为传参时不能用NULL,0号地址     

                 vector容器     

深复制和浅复制问题?

默认浅复制,把浅复制构造函数改为深复制构造函数

                                                                                                                     

                 labmda 表达式 :短小函数,就地编写 

            

         在下图中,int i 在main函数中的局部作用域,i在labmda表达式中的局部作用域                                这两个作用域之间具有包含关系                                                                                                      闭包:                                                                                                                                                            外层定义的i,改变不了labmda表达式中的i 的值                                                                    解决:  在捕获框[ i ] ,填入i ,即可获取i值       

-----------------------------------------------------------------------------------------------------------------------

动态内存分配

 new和malloc区别?

new:                                                                                                                                                            1.会调用构造函数,构造对象                                                                                                               2.new是关键字,是个运算符                                                                                                             3.new的返回值,根据对象而改变对应的返回值

特点:                                                                                                                                                         操控栈上指针,控制堆上对象

malloc:                                                                                                                                                         1.在堆上开辟了承载对象的空间,大小与new构造一致,但是并没有创建对象                                    2.malloc是函数                                                                                                                                   3. 返回值为 void*  宽范围,返回时需要reinterpret_cast<Clock *> 强转类型

delete和free区别?

delete:                                                                                                                                                          1.会调用析构函数,销毁对象

---------------------------------------------------------------------------------------------------------------------------------

数组的扩容功能

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值