在C/C++程序的编写中,当多个基本数据类型或复合数据结构要占用同一片内存时,我们要使用联合体;当多种类型,多个对象,多个事物只取其一时(我们姑且通俗地称其为“n 选1”),我们也
可以使用联合体来发挥其长处...
分类:
编程语言 时间:
2015-05-04 18:06:49
阅读次数:
125
在嵌入式开发中,经常碰到因端序使用不当导致的错误,故决定决定将工作中常见的转序函数进行梳理,一是为了避免犯同样的错误,二是为了以后方便查询。本文分为四个部分:1、什么是大小端序;2、大小端序数据相互转换函数;3、应用场景;4、使用总结。 1、什么是大小端序 大端模式:是指数据的高字节保存在内...
分类:
其他好文 时间:
2015-04-25 11:55:01
阅读次数:
648
l 利用{}进行所有容器和数据结构的就地初始化,还可以直接用于返回值,对自定义类型进行就地初始化使用initializer_list
l 通过右值引用,函数可以自由的返回大对象,同时带资源赋值更加高效,由此指针可在任何情况下退出使用(库除外)
l 全局唯一资源可封装为只可移动不可拷贝语义
l 任何非引用数据都可以成为联合体的成员
l final、override、virtual等...
分类:
编程语言 时间:
2015-04-24 12:38:50
阅读次数:
121
介绍\uxxxx这种格式是Unicode写法,表示一个字符,其中xxxx表示一个16进制数字,范围所0~65535. Unicode十六进制数只能包含数字0~9、大写字母A~F或者小写字母A~F。需要注意到是:Unicode的大小端问题,一般都是小端在前,例如\u5c0f表示汉语中的 '小'字,转换...
分类:
其他好文 时间:
2015-04-17 15:30:02
阅读次数:
174
一、内存对齐的原因根本原因:cpu是根据内存访问粒度(memory access granularity,下文简写成MAG)来读取内存,MAG就是cpu一次内存访问操作的数据量,具体数值依赖于特定的平台,一般是2byte、4byte、8byte。内存对齐:更够减少内存读取次数(相对于内存不对齐),为...
分类:
其他好文 时间:
2015-04-15 00:38:02
阅读次数:
148
判断PC机大小端 1 #include 2 #include 3 4 int main() 5 { 6 short a = 0x0102; 7 char *p = (char*)(&a); 8 9 //低字节存储在低地址10 if(*p == 2 && *(p +...
分类:
其他好文 时间:
2015-04-13 18:22:28
阅读次数:
128
// 验证计算机是大端存储还是小端存储
#include
int main()
{
int a = 1;
char *p;
p = (char *)(&a);
if(*p == 0 )
printf("当前计算机是大端存储\n");
else
printf("当前计算机是小端存储\n");
return 0;
}
//也可以用联合实现
#include
uni...
分类:
编程语言 时间:
2015-04-06 15:42:42
阅读次数:
162
1.结构体2.联合体3.结构体和联合体的操作4.非压缩数组5.压缩数组6.数组操作7.数组foreache 循环8.用于数组的特殊系统函数结构体1.结构体成员可以是任何数据类型 包括基本类型和用户自定义类型2.结构体的声明 var/wire 都可以定义为结构体类型。当定义为结构体类型时,结构体中的成...
分类:
编程语言 时间:
2015-04-06 00:45:56
阅读次数:
210
概述
Lua完全采用8位编码,Lua字符串中的字符可以具有任何数值编码,包括数值0。也就是说,可以将任意二进制数据存储到一个字符串中。Lua的字符串是不可变的值(immutable values)。如果修改,实质上是新建一个字符串。根据《Lua中数据类型的源码实现》中知道,在Lua中,字符串是自动内存管理机制所管理的对象,并且由联合体TString来实现存储字符串值的。下面将通过Lu...
分类:
其他好文 时间:
2015-03-31 22:17:19
阅读次数:
121
前言
boost::any类为我们提供了一个十分强大的功能:只要定义一个any对象,就可以保存任意类型的数据到这个对象中,而且还可以动态改变类型。这比我么在COM中使用到的VARIANT结构要强大多了,VARIANT只不过是用到了一个联合体,把可能出现的类型全部包括进去了,更像是一种穷举,而且还有一个标识来说明当前结构中保存的数据的类型。
如何使用any?
去boost官...
分类:
其他好文 时间:
2015-03-28 21:50:24
阅读次数:
182