![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码细节学习
文章平均质量分 79
英语课代表
这个作者很懒,什么都没留下…
展开
-
C++ 11 右值引用和移动语义的实现
什么是左值,什么是右值? 左值就是程序能获得其地址的表示数据的表达式,包括变量,const常量,解除引用的指针。 相反,右值就是不能应用地址运算符&的表示数据的表达式,包括字面常量,x+y,非引用的返回值。 什么是左值引用,什么是右值引用? 我们常说的C++的引用,大部分时候指的就是左值引用,符号是&, 比如 int a=10;int &b=a; 其中,b就...原创 2019-11-14 22:47:08 · 261 阅读 · 0 评论 -
sscanf会给嵌入式代码移植带来隐患
字符串转成十六进制, char buf[3] = {"12"}; char byte; sscanf(buf, "%02x", &byte); 这种实现是依赖于CPU大小端类型的。 对于小端机器,这个代码运行正常: sscanf的过程 “12” -> | 12 | 00 | 00 | 00 |-> 取第一个字节0x12赋给byte , byte 等于18,没...原创 2019-07-08 18:28:18 · 565 阅读 · 0 评论 -
长度为0的数组的优点
举例说明 比如,要求定义一个用于存储char型数据的10字节空间。 使用三种不同的办法来定义:结构体A使用0长度数组,结构体B使用定长数组,结构体C使用指针。 //结构体定义 struct A{ char content[0]; } ; struct B{ char content[10]; }; struct C{ char* content; }; //创建符合要求的变量 stru...原创 2018-09-08 20:58:18 · 461 阅读 · 0 评论