- 博客(60)
- 资源 (4)
- 收藏
- 关注
原创 QT SQL链接
1、新建工程: 打开Qt Creator,File -> New File or Project,左边选择 Qt Widget Project,右边选择Qt Gui Application单击Choose;填写工程名称(这里是1)及选择目录-> Next -> Next -> Next -> Finish,工程顺利生成并自动回
2012-09-18 08:08:30 1065
原创 简易数据库
use Text --Text为数据库gocreate table student_table( --student_table为表 id_num int identity(1,1), num nvarchar(20), use_name nvarchar(20), constraint pk_student primary key clustered ( id_num AS
2012-09-09 15:04:43 1004
原创 C/C++优秀书籍
《Imperfect C++中文版》《C++代码设计与重用》《C和指针》《C专家编程》《C陷阱与缺陷》《C++沉思录》《C++代码设计与重用》《Imperfect C++中文版》《C++面向对象高效编程(第2版)》《C++实践之路》《C和C++代码精粹》《C++编程惯用法——高级程序员常用方法和技巧》《C++编程风格》《软件艺匠》
2012-08-08 16:10:02 1433 2
转载 内存管理三
假设系统的可利用内存空间容量为2m个字(地址从0到2m-1),则在开始运行时,整个内存区是一个大小为2m的空闲块,在运行了一段时间之后,被分隔成若干占用块和空闲块。为了在分配时查找方便起见,我们将所有大小相同的空闲块建于一张子表中。每个子表是一个双重链表,这样的链表可能有m+1个,将这m+1个表头指针用向量结构组织成一个表,这就是伙伴系统中的可利用空间表,如图所示:
2012-08-04 10:08:38 1728
转载 内存管理二
发现两篇内存池的博文,博文地址如下,写的很好,能避免内存碎片和内存泄露问题,比我这个玩具代码要好很多,大家可以看看:http://www.cnblogs.com/bangerlee/archive/2011/08/31/2161421.htmlhttp://blog.csdn.net/060/article/details/1326025 在我们做
2012-08-04 10:07:55 1753 3
转载 内存管理一
今天突发奇想地想学习下内存管理(其实是报的腾讯终端开发,怕面试被问到如何实现内存管理模块)。于是找找资料,写了段代码,可以实现基于最佳适应法和循环首次适应法的内存分配。 大家都知道,我们malloc的时候操作系统维护着一张双链表记录堆里面的空闲内存块情况,每个节点对应一块内存。 最佳适应法:分配内存(大小为size)的时候,从表头开始搜索,找那块比size大的最小空闲内
2012-08-04 10:07:02 1480
原创 类的设计
一、构造函数:简单的类不需要构造函数,它们的结构就是它们的接口。复杂的类需要构造函数来隐藏它们内部工作方式。二、数据成员:数据成员应该设置为私有,通过共有接口来修改、读取私有成员变量。如:template class Vector{public: int get_length() const; int set_length();private: int length;}
2012-08-03 18:35:00 2955 3
原创 迭代器的类型及操作
迭代器:一、input(输入)迭代器:input迭代器只能一次一个向前读取元素,按此顺序一个个传回元素值。input迭代器的各项操作:*iter 读取实际元素iter->member 读取实际元素的成员++iter 向前步进,传回新位置iter++ 向前步进,传回旧位置iter1 == iter2 判断两个迭代器是否相等TYPE(iter) 复制迭代
2012-07-29 16:48:25 4172
原创 STL应用实例
一、vector的简单应用#include #include int main(){ std::vector charVector; int x; for (x=0; x<10; ++x) charVector.push_back(65 + x); int size = charVector.size(); for (x=
2012-07-28 16:01:38 6231 1
原创 map应用实例二
将multimap当作字典#include#include#include#includeusing namespace std;void main(){ typedef multimap StrStrMMap; StrStrMMap dict; dict.insert(make_pair("day" , "Tag")); dict.insert(make_pair("
2012-07-26 16:10:56 1495
原创 STL set、multiset 学习笔记
一、set、multiset 的能力:set、multiset采用平衡二叉树完成,set中的元素不允许重复,multiset允许重复;set、multiset不提供直接存取元素的任何函数操作;通过iterator 进行元素简介存取,有一个限制:从迭代器角度来看,元素值是常数;二、set、multiset 的形式:set 一个set,以lessset一个set,以为排序
2012-07-25 15:41:50 4989
原创 单链表
#include #include typedef struct Student { int data; struct Student *next; }Node,*Link; void Display(Link L) { Node *p; p=L->next; printf("The result is:\n"); while(p) { printf
2012-07-23 11:09:19 1012
原创 在treeWidget中加入控件
//在treeWidget中加入控件void Form::addSpaceF(){ //删除按钮分区 treeWidget->removeItemWidget(addSpace,0); newItem=new QTreeWidgetItem; addSpace=new QTreeWidgetItem; addPlate=new QTreeWidgetI
2012-07-20 10:04:05 5490
原创 容器的通用操作
ContType c产生一个未含任何元素的容器ContType c1(c2)产生一个同型容器ContType c(beg,end)复制[beg,end]区间内的元素作为初值C.~ContType ()删除所有元素,释放内存C.empty()判断容器是否为空
2012-07-10 15:44:58 1216 1
原创 vector学习笔记
一、vector的能力vector将其元素复制到内部的dynamic array中。元素之间总是存在着某种顺序。所以vector是一种有序群集,vector支持随机存取,因此只要知道位置,你可以在常数时间内存取任何一个元素。vector的迭代器是随机存取迭代器,对任何一个STL算法都可以奏效。二、vector的函数操作1、vector的构造函数和析构函数vector c
2012-07-10 15:22:31 1060
原创 C++标准库类型
一、命名空间的using声明using std::cin;using std::cout;using std::string;二、标准库string类型1、string的类型和初始化几种初始化string对象的方式string s1;默认构造函数,s1为空串string s2(s1);将s2初始化为s1的一
2012-07-10 15:21:25 716
原创 关联容器简介
关联容器1、sets:set的内部元素依据其值自动排序,每个元素值只出现一次,不允许重复。2、multiset:multiset和set相同,只不过它允许重复元素,也就是说multiset可包括多个数值相同的元素。3、maps:map的元素都是“实值/键值”所形成的一对对组。每个元素有一个键,是排序基准的基础。每一个键只出现一次,不允许重复。map可被视为关
2012-07-08 15:08:47 781
原创 C语言链表
#include#include#define null 0//--------定义节点---------typedef struct List{ int data; struct List* next;}List;//----------构造链表----------List* InitList(int n){ int i; List *h
2012-07-06 16:35:28 736
原创 QT中各种MessageBox的使用
#include "messagebox.h"#include int main(int argc, char *argv[]){ QApplication a(argc, argv); MessageBox *w=new MessageBox; w->show(); return a.exec();}MessageBox.h#ifndef MESSAG
2012-06-10 17:55:12 6019 3
原创 C/C++中时间类time.h
关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到 过C++语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,笔者将主要介绍在C/C++中时间和
2012-05-13 17:55:47 1549
原创 C语言随机数的产生
#include#include#includevoid main(){int i,j;srand((int)time(0));//设置种子for(i= 0;i{j=1+(int)(10.0*rand()/RAND_MAX+1.0);//显示随机数printf("%d\t",j);}}
2012-05-13 17:11:48 674
原创 在C语言中,double、long、unsigned、int、char类型数据所占字节数
和机器字长及编译器有关系:所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的): 1 sizeof(short int)<=sizeof(int) 2 sizeof(int)<=sizeof(long int) 3 short int至少应为16位(2字节) 4 long int至少应为32位。 unsigned 是
2012-04-23 13:23:29 2329
原创 C++标准库类型
C++标准库类型--学习笔记 一、命名空间的using声明usingstd::cin;usingstd::cout;usingstd::string; 二、标准库string类型1、string的类型和初始化几种初始化string对象的方式string s1;默认构造函数,s1为空串string s2(s1
2012-04-16 19:58:21 2256
原创 C++变量与基本类型
C++变量与基本类型---学习笔记 一、 从键盘输入文件结束符Windows系统:control+Z;Unix、OS-X、Mac:control+D; 二、 基本内置类型算数类型表 类型含义最小存储空间取值范围bool布尔型-
2012-04-13 15:23:07 3727 2
原创 C++迭代器(iterator)
1. 迭代器(iterator)是一中检查容器内元素并遍历元素的数据类型。(1) 每种容器类型都定义了自己的迭代器类型,如vector:vector::iterator iter;这条语句定义了一个名为iter的变量,它的数据类型是由vector定义的iterator类型。(2) 使用迭代器读取vector中的每一个元素:vector ivec(10,1);for(vector
2012-04-11 22:38:48 940
原创 EXT JS学习网站
1、http://extjs.org.cn/ExtJS中文站2、http://www.verycd.com/topics/2744670/《EXTJS实用开发指南和官方中文教程》(LearningExtJS_new)[压缩包] 的下载地址3、http://www.easyjf.com/EasyJF开源4、http://tech.163.com/special/00091SV
2012-04-10 20:35:55 1180
原创 多继承中二义性的问题
假定通过多个派生路径继承名为x的成员,有下面三种可能性:1、如果每个路径中x表示同一虚基类成员,则没有二义性,因为共享该成员的单个实例。2、如果在某个路径中x是虚基类的成员,而在另一路径中x是后代派生类的成员,也没有二义性--特定派生类实例的优先级高于共享基类实例。3、如果沿每个继承路径x表示后代派生类的不同成员,则该成员的直接访问时二义性的。像非虚多重继承层次一样,这种二义性最好用在
2012-04-08 11:18:43 2208
原创 QTreeWidget的使用
1.基本用法:初始化用基本用到的://this->setMouseTracking(true);this->setRootIsDecorated(false);this->setSelectionMode(QAbstractItemView::ExtendedSelection);this->setStyleSheet("QTreeWidget::item{height:2
2012-04-07 19:32:07 3126 1
翻译 QTableWidget的使用
一.初始化void init(){setRowCount(1);//设置一行setColumnCount(2); //设置两列int row = rowCount();removeRow(row);//清除已有的行列setShowGrid(true);//显示表格线verticalHeader()->setVisible(false);//隐藏左边垂直QHea
2012-04-07 10:17:07 2999
原创 相关书籍
《深入理解计算机系统》《windows高级调试》《windows via C/C++》《计算机组成原理》《操作系统》《汇编语言程序设计》《深度探索C++对象模型》《C++沉思录:Ruminations on C++》《C和C++经典著作:C陷阱和缺陷》
2012-04-06 13:17:09 811
原创 C++纯虚函数与抽象类
纯虚函数:纯虚函数:在基类中将某一成员函数定为虚函数,并不是基类本身的需要,而是考虑到派生类的需要,在基类中预留了一个函数名,具体功能留给派生类根据需要去定义。纯虚函数是在声明虚函数时被“初始化”为0的函数。一般形式为:virtual 函数类型 函数名(参数列表)=0;如:virtual float area()const=0;注意:1、虚函数没有函数体;2
2012-04-06 11:28:03 4076
原创 C++虚函数学习笔记(仅供参考)
1、虚函数的作用:允许在派生类中重新定义与基类同名的函数,并且可以通过基类的指针或引用来访问基类和派生类中的同名函数。2、虚函数的工作原理编译器处理虚函数的方法:对每个对象添加一个隐藏成员。隐藏成员中保存了一个指向函数地址数组的指针,这种数组称为虚函数表(vtbl)。虚函数表中存储了为类对象进行声明的虚函数的地址。例如:基类对象包含一个指针,该指针指向基类中所有虚函数的地址表。
2012-04-05 21:56:22 1401
原创 QTextBrowser的一些设置
ui->textBrowser->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);//设置垂直滚动条不可见ui->textBrowser->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);//设置水平滚动条不可见 QTextCursor text_cursor(ui->t
2012-04-01 21:04:32 14184 1
原创 Qt4.6 QMessageBox 使用大全
使用方式为/***消息框的使用 *********************///提示框//QMessageBox::about(this,"about me","helloworld");// QMessageBox::aboutQt(this,"about me"); //输出关于Qt的详细信息//警告窗口//int bs= QMessageBox::critica
2012-03-28 21:16:57 2206
原创 QT文本编码
字符集简史 在所有字符集中,最知名的可能要数被称为ASCII的7位字符集了。它是美国信息交换标准代码(American Standard Code for Information Interchange)的缩写, 为美国英语通信所设计。它由128个字符组成,包括大小写字母、数字0-9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等)组成。 但是,由于他是针
2012-03-27 20:35:38 948
转载 QTableWidget的运用
QTableWidget可以顯示一個表格元件,表格中每個儲存格則為一個QTableWidgetItem的實例,QTableWidgetItem要安插至表格中哪個儲存格,則是依索引的指定來決定。 下面的程式碼為簡單的QTableWidget與QTableWidgetItem的示範: 使用setItem()時必須指定儲存格索引值,索引為列(row)行(c
2012-03-19 16:34:47 1021
原创 QTableWidget的使用和美工总结
基本外观设置FriendTable->setFrameShape(QFrame::NoFrame);//设置边框FriendTable->setHorizontalHeaderLabels(HeadList);设置表头FriendTable->setSelectionMode(QAbstractItemView::SingleSelection);设置选择的模式为单选择
2012-03-19 16:11:58 1229
原创 获取本机IP地址的方法:
#include QString getIPAddress() { QString ipAddress; QList ipAddressesList = QNetworkInterface::allAddresses(); for (int i = 0; i < ipAddressesList.size(); ++i) {
2012-03-16 19:07:21 981
原创 QT如何实现后台运行(即最小化到右下角托盘)
第一期: 用hello world简单的代码更容易看懂托盘的具体实现,一些细节问题,比如为什么提示消息没有显示在托盘上,如何在tip消息上增加图标等。#include class myclass: public QWidget{ public: myclass(); private: QPushButton *b1;
2012-03-13 22:11:24 9494
C++标准库的学习
2011-11-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人