C/C++
菠萝的春天
Come From Farsight。。。
展开
-
Group 布局
先上两个效果图:接着当我们点击More的时候,就成了下图ui->groupBox_2->hide();ui->groupBox_3->hide();ui->groupBox_4->hide();this->layout()->setSizeConstraint(QLayout::SetFixedSize);QObject::connect(ui->pushButto原创 2011-10-25 09:58:30 · 679 阅读 · 0 评论 -
三十分钟掌握STL
三十分钟掌握STL这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:karymay@163.netSTL概述STL的一个重要特点是数据结构和算法的分离。尽转载 2011-12-14 19:53:45 · 557 阅读 · 0 评论 -
【详细】Extern 以及C++中重载原理、C++与C的混合编程
通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。例如,如果模块B欲引用该模块A中定义的全局变量和函数时只需包含模块A的头文件即可。这样,模块B中调用模块A中的函数时,在编译阶段,模块B虽然找不到该函数,但是并不会报错;它会在连接阶段中从模块A编译生成的目标代码中找到此函数。与extern对应的关键字是static,被它修饰的全局变量和函数只能在本模块中原创 2011-12-21 20:12:40 · 668 阅读 · 0 评论 -
表达式"x=x&(x-1)
表达式"x=x&(x-1)x = x & (x - 1)含义:这条语句执行一次,就会把x用二进制格式表示时的最右边的一个二进制1变为二进制0,因为x-1会将该位(x用二进制表示时最右边的一个二进制1)变为0;应用1:把一个整数用二进制表示时,其中二进制1的个数;int Func(int x){ int count = 0; while(x) {原创 2012-02-16 12:27:09 · 670 阅读 · 0 评论 -
函数调用约定与相关指令
函数调用约定与相关指令函数调用约定描述了函数传递参数方式和栈协同工作的技术细节。不同的操作系统、不同的语言、不同的编译器在实现函数调用时的原理虽然基本相同,但具体的调用约定还是有差别的。这包括参数传递方式,参数入栈顺序是从右向左还是从左向右,函数返回时恢复堆栈平衡的操作在子函数中进行还是在母函数中进行。表4-1-1列出了几种调用方式之间的差异。表4-1-1 调用方式之间的差转载 2012-02-28 17:00:46 · 789 阅读 · 0 评论 -
C++中的虚函数和纯虚函数用法
C++中的虚函数和纯虚函数用法 1.虚函数和纯虚函数可以定义在同一个类(class)中,含有纯虚函数的类被称为抽象类(abstract class),而只含有虚函数的类(class)不能被称为抽象类(abstract class)。 2.虚函数可以被直接使用,也可以被子类(sub class)重载以后以多态的形式调用,而纯虚函数必须在子类(sub class)中实现该函数才可以原创 2012-02-28 16:34:01 · 827 阅读 · 0 评论 -
虚函数表工作原理(1)
★★★【C/C++】概念:虚函数表工作原理(1) 2010-10-29 16:20:59| 分类: C / C++|字号 订阅C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓转载 2012-02-28 16:07:05 · 3430 阅读 · 1 评论 -
【C/C++】概念:重载(overload),覆盖(override),隐藏(hide)的区别
【C/C++】概念:重载(overload),覆盖(override),隐藏(hide)的区别 2010-10-29 09:27:36| 分类: C / C++|字号 订阅 写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖(override),隐藏(hide)。在早期的C++书籍中,可能翻译的人不熟悉专业用语(也不能转载 2012-02-28 16:07:46 · 892 阅读 · 0 评论 -
JMP段的跳转short、near、far
无条件转移指令jmp:这种跳转指令有三种方式:短(short),近(near)和远(far)。短是指要跳至的目标地址与当前地址前后相差不超过128字节。近是指跳转的目标地址与当前地址在用一个段内,即CS的值不变,只改变EIP的值。远指跳到另一个代码段去执行,CS/EIP都要改变。短和近在编码上有所不同,在汇编指令中一般很少显式指定,只要写 jmp 目标地址,几乎任何汇编器都会根据目转载 2012-02-28 17:27:48 · 9394 阅读 · 0 评论 -
C++模板
1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,int y);{return(x>y)?x:y ;}//函数2.转载 2012-03-14 16:08:32 · 575 阅读 · 0 评论 -
画龙点睛的createfilemaping()
一直以来再看PE格式,现在才知道,在加载的时候,是用CreateFileMapping这个函数将文件所得的权限的一片内存,和我们的文件之间做一个映射。然后对这篇内存操作就像是对文件内容操作一样,就达到了加载文件到内存中去的目的了。MapViewOfFile是将一个文件映射对象映射到当前应用程序的地址空间原创 2012-03-14 17:21:16 · 879 阅读 · 0 评论 -
多线程的例子,火车票同步
#include #include DWORD WINAPI Fun1Proc( LPVOID lpParameter // thread data);DWORD WINAPI Fun2Proc( LPVOID lpParameter // thread data);int index=0;int tickets=100;HAND原创 2012-08-28 14:50:24 · 804 阅读 · 0 评论 -
数组和指针的面试题
5. 用变量a给出下面的定义 a) 一个整型数(An integer) b) 一个指向整型数的指针(A pointer to an integer) c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer) d) 一个有10个整型数的数组(An array of 10 integers) e) 一个有1原创 2011-12-22 10:25:55 · 1633 阅读 · 0 评论 -
用两个栈实现一个队列,用两个队列实现一个栈的功能
用两个栈实现一个队列的功能数据结构的说明:栈 :先入后出 FILO队列:先入先出 FIFO实现方式一,具体:队列入列:栈A入栈;举例:将A.B.C.D入列,从栈顶到栈底依次为:D C B A;队列出列:判断栈元素个数是否为1,如为真,弹出;如为假,栈A所有元素出栈POP,压入栈B;栈B栈顶元素POP;栈B所有元素压入栈A。举例原创 2011-12-12 20:03:12 · 729 阅读 · 0 评论 -
快速排序,终极研究
推荐一个在线算法学习的网站:http://sjjg.js.zwu.edu.cn/SFXX/sf1/sfys.html 快速排序由霍尔 (Hoare) 提出,它是一种对冒泡排序的改正。由于其排序速度快,故称快速排序 (quick sort) 。快速排序方法的实质是将一组关键字 [K 1 ,K 2 ,…,K n ] 进行分区交换排序。 1.算法思路 ①以第一个关键字转载 2011-12-13 16:10:03 · 611 阅读 · 0 评论 -
【九】 进程间通信——[System V IPC对象]共享内存(share memory)
【九】 进程间通信——[System V IPC对象]共享内存(share memory)/*Writer.c*/#include #include #include #include #include #include #include #include #include #define N 64typedef struct { pid_t pid; char原创 2011-11-15 20:53:26 · 571 阅读 · 0 评论 -
【十一】 进程间通信——[System V IPC对象]信号灯(semaphore)
【十一】 进程间通信——[System V IPC对象]信号灯(semaphore)/*reader.c*/#include #include #include #include #include #include #include #include #include #define N 64#define READ 0#define WRITE 1uni原创 2011-11-15 20:57:49 · 534 阅读 · 0 评论 -
【二十三】 Linux网络编程——广播与组播
【二十三】 Linux网络编程——广播与组播/*multicast sender.c*/#include #include #include #include #include #include #include #define N 64typedef struct sockaddr SA;int main(int argc, char *argv[]原创 2011-11-15 21:05:01 · 1234 阅读 · 1 评论 -
【十二】进程间通信——[BSD]套接字(socket)
【十二】 进程间通信——[BSD]套接字(socket)/*sever.c*/#include #include #include #include #include #include #include #include #define N 64#define R 1#define B 2#define U 3#define E 4typedef struct原创 2011-11-15 20:59:42 · 643 阅读 · 0 评论 -
【二十五】 Linux网络编程——模仿Ping命令的实现
【二十五】 Linux网络编程——模仿Ping命令的实现/*Myping.c*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #d原创 2011-11-15 21:01:02 · 707 阅读 · 0 评论 -
【二十六】 Linux网络编程——模仿linux的ls命令实现
【二十六】 Linux网络编程——模仿linux的ls命令实现/*my_ls.c*/#include #include #include #include #include #include #include #include int display_file(char *argv,char *fname){ struct stat buf; st原创 2011-11-15 21:02:22 · 1441 阅读 · 0 评论 -
【八】 进程间通信——(SIGNAL)信号
【八】 进程间通信——(SIGNAL)信号#include #include #include #include #include pid_t pid;void conductor(int signo){ switch ( signo ) { case SIGINT : kill(getppid(), SIGUSR1); break; case SIGQUI原创 2011-11-15 20:50:25 · 432 阅读 · 0 评论 -
【七】 进程间通信——(FIFO)有名管道
【七】 进程间通信——(FIFO)有名管道我们向管道中写入数据时,linux将不保证写入的原子性,管道缓冲区一有空闲区域,写进程就会试图相关到中写入数据。如果杜金城不读走管道缓冲区的数据,那么写操作将会一直阻塞。只有读端存下的时候,向管道中写数据才有意义。否则相关到中写入数据的进程将受到内核传来的SIFPIPE,我们可以通过这个信号来判断读端是否退出。有名管道和无名管道(PI原创 2011-11-15 20:39:36 · 534 阅读 · 0 评论 -
【转】 lib和dll文件的区别和联系
lib和dll lib和dll文件的区别和联系.dll是在你的程序运行的时候才连接的文件,因此它是一种比较小的可执行文件格式,.dll还有其他的文件格式如.ocx等,所有的.dll文件都是可执行。.lib是在你的程序编译连接的时候就连接的文件,因此你必须告知编译器连接的lib文件在那里。一般来说,与动态连接文件相对比,lib文件也被称为是静态连接库。当你把代码编译成这几种格式的文件时,转载 2011-12-12 08:47:42 · 450 阅读 · 0 评论 -
【三十一】 数据结构——线性表的存储的实现
【三十一】 数据结构——线性表的存储的实现一、要实现的操作:(1)创建(2)清除(3)插入(4)删除(5)查找二、实验步骤:数据结构的定义:typedef struct{ int data[MAX]; int last;}sqlist,*sqlink;创建:sqlink create_sqlist(){ sqlink L;原创 2011-12-13 15:25:36 · 620 阅读 · 0 评论 -
前辈大公司的面试,重点是他推荐我们应该看得那些书
应届生上泡了两年,一直都是下资料,下笔试题,面试题。一直都在感谢那些默默付出的人。写这个帖子花了我两个夜晚的时间,不是为了炫耀,只是为了能给那些“迷惘”的学弟学妹,一点点建议而已。大家何必那么认真,更没必要说脏话。我不在乎你们怎么评价我。只要有人觉得帖子有用,我就欣慰了。谢谢大家,别说脏话,以和为贵。饮水思源,谢谢应届生上默默付出的师兄师姐,谢谢那么多份笔试题,面试题,没有这些资料,就没有现在的我转载 2011-11-19 10:59:26 · 8199 阅读 · 1 评论