智能家居项目实训笔记(华清远见)(二)

本文介绍了嵌入式开发中C++的内存管理,包括堆栈空间的区别、new和delete的使用,以及字符串常量区和静态区的特性。讨论了函数重载、默认参数值,以及结构体和对象创建,特别是栈上和堆上创建对象的差异,以及this指针的作用。
摘要由CSDN通过智能技术生成


链接至笔记(一)

test案例

通过引用来实现,在test函数中修改c和d的值时,a和b的值同时被修改

void test(int &c, int &d){

}

test(a,b);

通过指针来实现,在test函数中修改。

void test(int *c, int *d){

}

test(&a, &b);

此时使用q=hello world并不能直接讲数据放在堆区,而是将字符串放在了常量区。此时会造成内存泄漏

使用拷贝函数,可以将hello world挨个放在q所对应的堆区内存中。且若再进行*q='x’的操作,此时q所对应的地址是字符串首地址。故替换的是第一个字符,变为xello world

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MODHktje-1589531433743)(C:\Users\超超\AppData\Roaming\Typora\typora-user-images\image-20200430214202197.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cK67Igro-1589531433753)(C:\Users\超超\AppData\Roaming\Typora\typora-user-images\image-20200430213942958.png)]

sizeof

sizeof引用,得到的是所指向的变量的大小。sizeof指针&

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值