- 博客(17)
- 收藏
- 关注
原创 Qt复习之小细节注意
1.对于所有定义了信号和槽的类,在类定义开始处的Q_OBJECT宏都是必需的。2.Qt由数个模块构成,每个模块都有自己的类库。最为重要的模块有QtCore、QtGui,QtNetWork、QtOpenGL、QtScript、QtSvg和QtXml。其中,在头文件中为构成QtCore和QtGui组成部分的所有类进行了定义,在程序中包含这个头文件,就能够使我们省去在每个类中分别包含的麻烦。3.
2016-10-31 13:44:03 540
转载 QApplication详解
一、详细描述QApplication 类管理图形用户界面应用程序的控制流和主要设置。 可以说 QApplication是Qt的整个后台管理的命脉它包含主事件循环,在其中来自窗口系统和其它资源的所有事件被处理和调度。它也处理应用程序的初始化和结束,并且提供对话管理。它也处理绝大多数系统范围和应用程序范围的设置。对于任何一个使用Qt的图形用户界面应用程序,都正好存在一个QAppli
2016-10-31 09:02:33 37584 1
原创 TCP/IP三次握手过程详解
一、TCP报文格式 图1 TCP报文格式上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。 (3)标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体
2016-10-26 22:29:23 709
原创 常见面试题及答案汇总
1.堆栈溢出一般是由什么原因导致的?答:1.没有回收垃圾资源 2.层次太深的递归调用(无限递归调用),每一次函数调用都会将参数、返回值不停的压栈。2.new、delete、malloc、free的关系delete会调用对象的析构函数,和new对应。free只会释放内存。new会调用构造函数。malloc与free是C++/C语言的标准库函数,new和delete是C+
2016-10-26 16:17:49 928
原创 引用作为函数参数和常引用作为函数参数
(1)传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还
2016-10-26 15:17:55 6902
转载 stl容器的实现原理-与数据结构的对应关系
STL容器的实现原理 STL共有六大组件 1、容器。2、算法。3、迭代器。4、仿函数。6、适配器。 STL容器的实现原理STL来管理数据十分方便,省去了我们自己构建数据结构的时间.其实,STL的实现也是基于我们常见的数据结构.序列式容器:vector-数组,元素不够时再重新分配内存,拷贝原来数组的元素到新分配的数组中。
2016-10-26 14:40:00 5597
原创 stl中常用容器详解
我们常用到的STL容器有vector、list、deque、map、multimap、set和multiset,它们究竟有何区别,各自的优缺点是什么,为了更好的扬长避短,提高程序性能,在使用之前需要我们了解清楚。 verctor--会自动增长的数组vector类似于C语言中的数组,它维护一段连续的内存空间,具有固定的起始地址,因而能非常方便地进行随机存取,即 []
2016-10-26 14:32:23 383
原创 堆栈区别和堆栈溢出原因
好了,我们回到我们的主题:堆和栈究竟有什么区别?主要的区别由以下几点:1、管理方式不同;2、空间大小不同;3、能否产生碎片不同;4、生长方向不同;5、分配方式不同;6、分配效率不同;管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。空间大小:一般来讲在32位系统下,堆内存可以达到
2016-10-26 11:46:06 7300
原创 二叉排序树和平衡二叉树
二叉排序树又称二叉查找树,亦称二叉搜索树。二叉排序树或者是一颗空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根节点的值;(2)若右子树不空,则右子树所有结点的值均大于或等于它的根结点的值;(3)左、右子树也分别为二叉排序树平衡二叉树:又称为AVL树,它具有以下特征:它是一棵空树或它的左右两个子树的高度差(称为平衡因子)
2016-10-26 11:28:59 4335
原创 全局变量与局部变量在内存中的区别
全局变量保存在内存的全局存储区中,占用静态的存储单元;局部变量保存在栈中,只有在所在函数被调用时才动态地为变量分配存储单元。该题目考查的知识点是变量的存储类型及性质。C语言经过编译之后将内存分为以下几个区域:(1)栈(stack):由编译器进行管理,自动分配和释放,存放函数调用过程中的各种参数、局部变量、返回值以及函数返回地址。操作方式类似数据结构中的栈。(2)堆(heap):用于程序
2016-10-26 10:26:30 760
原创 static有什么用途
在C语言中,static主要定义全局静态变量,定义局部静态变量,定义静态函数一、定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点:(1)在全局数据区内分配内存(2)如果没有初始化,其默认值为0(3)该变量在本文件内从定义开始到文件结束可见。二、定义全局静态变量:在局部变量前面加上关键字static,该局部变量便成了静态
2016-10-26 10:08:59 6108
原创 初学Android OpenGL的一些心得
这是网友初学Android OpenGL的一些心得,在这里和大家一起分享,希望对初学OpenGL的开发者有所帮助。这篇教程主要是一些理论的讲解,可以让你初步了解Android OpenGL的开发。 首先是先把Dev Guide翻译了一下: 1.summary: 通过OpenGL API,Android包含对高性能3D图形的支持 — 具体而言,是指OpenGL ES API 。Op
2016-10-14 16:21:32 2904
转载 android:layout_gravity和android:gravity的区别
1.首先来看看Android:layout_gravity和android:gravity的使用区别。android:gravity:这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性,android:gravity="left"和android:text="提交",这时Button上的文字“提交”将会位于Bu
2016-10-13 18:07:21 371
原创 Android学习之编程细节注意(一、基本组件)
1.要开发“用户名___________”这种格式的登录界面的话,用表格布局,并且在TableRow中使用TextView与EditView配合,但是需要注意的是EditView的layout_width属性的值只能设置为一个具体的数值,比如300px,而不能设置为wrap_content。2.还要注意,对于TextView和EditvVew,layout_width和layout_heigh
2016-10-13 11:53:58 415
原创 AlertDialog
m_btn = new Button(MainActivity.this);m_btn.setText("click me");FrameLayout.LayoutParams params= new FrameLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutPa
2016-10-12 18:32:38 250
原创 toast用法
Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。第一个参数:当前的上下文环境。可用getApplicationContext()或者getContext()或this第二个参数:要显示的字符串。也可是R.string中字符串ID第三个参数:显示的时间长短
2016-10-12 18:29:05 24804
原创 Android框架讲解
android应用开发框架是 Application Framework. 其系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。下面自底向上分析各层。 1、Linux Kernel Android基于Linux 2.6提供核心系
2016-10-11 14:42:45 464
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人