- 博客(10)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 Qt 元对象系统(Meta-Object System)
<br />Qt的元对象系统基于如下三件事情:<br />1. 类:QObject,为所有需要利用原对象系统的对象提供了一个基类。<br />2. 宏:Q_OBJECT,通常可以声明在类的私有段中,让该类可以使用元对象对象的特性,比如动态属性,信号和槽。<br />3. 编译器:元对象编译器(moc)为每个QObject子对象自动生成必要的代码来实现元对象特性。<br />moc工具会读入C++的源文件,如果它发现了一个或者多个声明了Q_OBJECT宏的类,它就创建另一个
2010-11-24 11:08:00 861
原创 友元函数、友元类、访问私有数据成员、友元关系
<br />友元函数(friend function)<br />1. 什么是友元函数?<br /> 一个类的私有数据成员通常只能由类的函数成员来访问,而友元函数可以访问类的私有数据成员,也能访问其保护成员<br />2. 友元函数的用处体现在哪里?<br /> 2.1 使用友元函数可提高性能,如:用友元函数重载操作符和生成迭代器类<br /> 2.2 用友元函数可以访问两个或多个类的私有数据,较其它方法使人们更容易理解程序的逻辑关系<br />3. 使用友元函数前应注意:<br />
2010-11-18 14:56:00 11553
原创 Q_PROPERTY
<br />看到一些qt的程序在使用Q_PROPERTY()宏,参考了一下qt文档,发现定义格式如下:<br />Q_PROPERTY(type name<br /> READ getFunction<br /> [WRITE setFunction]<br /> [RESET resetFunction]<br /> [DESIGNABLE bool]<br /> [SCRIPTABLE bool]<br
2010-11-18 14:09:00 7585 2
转载 const用法大全
<br />面向对象是C++的重要特性.<br />但是c++在c的基础上新增加的几点优化也是很耀眼的<br />就const直接可以取代c中的#define<br />以下几点很重要,学不好后果也也很严重<br /> <br />const<br />1. 限定符声明变量只能被读<br /> const int i=5;<br /> int j=0;<br /> ...<br /> i=j; //非法,导致编译错误<br /> j=i; //合法<br />2. 必须初始化<b
2010-11-15 16:47:00 814
原创 文本与二进制方式打开文件的区别
<br /> 文本文件也叫做ASCII码文件,与以‘文本方式’打开文件不是同一个概念!文本文件存储的是ASSCII码字符,即存储在磁盘上只占用二进制的0x20--0x7e。另外,还有回车(0x0d),换行(0x0a),TAB(0x09)等,所以有可压缩的空间。<br /> 换行和回车是不同的,而且在不同的操作系统,解释也不相同。‘/n’一般会操作系统被翻译成"行的结束",即LF(Line-Feed);‘/r’会被翻译成"回?,即CR(Cariage-Return)<br /> 回车(CR)和换行
2010-11-11 10:49:00 1484 1
原创 求结构体成员的偏移量
<br /> <br />我们知道,在TCP/IP协议中,当我发送一个消息的时候,我必须要定义一个消息头,然后和消息体一起发送,那如何从一个消息中快速定位到消息体呢?<br />举个例子:<br />首先定义一个消息:<br />typedef struct tagT_RUDP<br />{<br /> int a;<br /> int b;<br /> int c;<br /> unsigned char usr[50];<br />}T_RUDP;<br />定义一个求偏移量的宏:<br />#defi
2010-11-10 15:58:00 686
转载 C语言位域
<br /><br />位域 : <br />有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。一、位域的定义和位域变量的说明位域定义与结构定义相
2010-11-03 14:36:00 464
转载 C语言大小端
1 大小端问题在计算机中存在两种字节序:大端和小端,大端是指计算机中表示一个数时高位在前,低位在后,也就是说低地址存放数据的高位部分,而高地址存放数据的低位部 分,如PPC就是属于这种类型的;相对的,小端是指计算机存储数据时低位在前,高位在后,即低地址存放数据的低位部分,高地址存放数据的高位部分,我们天 天用的X86 CPU就是这样的。 例如: 0x12345678在大小端系统中分别表示如下: Address : 0x500 0x501 0x502 0x503
2010-11-03 14:30:00 815
转载 c语言共用体对齐
<br /><br />还从网上找到共用体内存分配原则的文章,下面列几个例子说明:<br />1.Union data1{<br /> double d;<br /> int i;<br /> char c1;<br /> char c2[9]; <br /> };<br /> sizeof(union data1)的值为16.在编译器默认
2010-11-03 14:04:00 1227 1
转载 c语言结构体对齐
<br /><br />C语言结构体对齐也是老生常谈的话题了。基本上是面试题的必考题。结构体到底怎样对齐?下面总结了对齐原则,在没有#pragma pack宏的情况下:<br />原则1、普通数据成员对齐规则:第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储)。<br />原则2、结构体成员对齐规则:如果一个结构里有某些结构体成员,则该结构体成员要从其内部最大元素大小的整数倍地址开始存储。(stru
2010-11-03 14:02:00 672
如何获得鼠标连续的点
2016-02-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人