- 博客(22)
- 资源 (10)
- 收藏
- 关注
转载 进程和线程区别总结
简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻
2013-09-25 20:37:01 869
原创 计算机为什么要用补码存储整型
1.怎样判断int类型在32位计算机上存储的,有多少个1?2.计算机在32位上存储二进制采用什么方式进行的?问题1的答案:#include #include void main(){ int i=0,j=1,k; char binbuf[33]; for (i;i { k=j printf("%d\n",k); j=k; print
2013-09-20 23:30:18 1160
转载 C++空类不为零的原因
初学者在学习面向对象的程序设计语言时,或多或少的都些疑问,我们写的代码与最终生编译成的代码却大相径庭,我们并不知道编译器在后台做了什么工作.这些都是由于我们仅停留在语言层的原因,所谓语言层就是教会我们一些基本的语法法则,但不会告诉我们为什么这么做?今天和大家谈的一点感悟就是我在学习编程过程中的一点经验,是编译器这方面的一个具体功能. 首先:我们要知道什么是类的实例化,所谓类的实例
2013-09-18 16:58:09 783
转载 C运算符优先级
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名-
2013-09-18 14:51:10 743
原创 完全解析斐波那契数列
方法1:使用递归解,时间复杂度是n的指数级别#include#includeusing namespace std;//f(n)={0,1,1,2,3...} n>=0int Fibonacci(int n){ if(n return 0; if(n==1) return 1; return Fibonacci(n-1)+Fibonacci(n-2);
2013-09-17 22:57:31 2342
转载 C++ 面试宝典
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要
2013-09-16 23:40:18 1295
转载 C 中float分析
我两年前就知道不应该用==号来判断浮点数的相等了,因为存在一个精度的问题,但是一直以来,都没怎么在乎这些东西,而实际上,我对于浮点数的结 构,虽然了解,但并不清晰. 作为一个C++爱好者,应该尽量搞清楚每一个问题,所以我搞清楚了浮点数的内在表示及实现.在没有大问题的情况下,一切以易于理解和记忆为标准.首先说一下原,反,补,移码. 移码其实就等于补码,只是符号相反. 对于正数而言,原,反,补码都
2013-09-16 22:55:46 843
转载 C++ 加载dll 及调用lib 和 dll的 方法 和 动态库DLL与静态库lib的区别
C++加载dll 调用DLL有两种方法:静态调用和动态调用. (一).静态调用其步骤如下: 1.把你的youApp.DLL拷到你目标工程(需调用youApp.DLL的工程)的Debug目录下; 2.把你的youApp.lib拷到你目标工程(需调用youApp.DLL的工程)目录下; 3.把你的youApp.h(包含输出函数的定义)拷到你目标工程(需调用youApp.DL
2013-09-16 18:19:09 13760
转载 C++ inlinie
C++背景在C&C++中一、inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。表达式形式的宏定义一例:#define ExpressionName(Var1,Var2) ((Var1)+(Var2))*((Var1)-(Var2))为什么要取代这种形式呢,且听我道来:1. 首先谈一下在C中使用这种形式宏定义的原因,C语言是一个效率
2013-09-16 10:31:23 837
转载 #include与直接写class加类名有何区别
在写 头文件的时间 经常会有一些 class QFile 等这类 看似 是声明的东西..例如下面#ifndef WINDOW_H#define WINDOW_HQT_BEGIN_NAMESPACEclass QTcpServer;class QTcpSocket;class QProgressBar;class QLabel;class QDialo
2013-09-16 09:50:33 1104
转载 C/C++ 变量定义与声明的区别
变量定义与声明的区别我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下: 变量的声明有两种情况: (1) 一种是需要建立存储空间的(定义、声明)。例如:int a在声明的时候就已经建立了存储空间。 (2) 另一种是不需要建立存储空间的(声明)。
2013-09-12 16:16:54 784
原创 C++内存
1.内存问题的原因及分类 在C/C++程序中,有关内存使用的问题是最难发现和解决的。这些问题可能导致程序莫名其妙地停止、崩溃,或者不断消耗内存直至资源耗尽。由于C/C++语言本身的特质和历史原因,程序员使用内存需要注意的事项较多,而且语言本身也不提供类似Java的垃圾清理机制。编程人员使用一定的工具来查找和调试内存相关问题是十分必要的。 总的说来,与内存有关的问题可以分成两
2013-09-04 17:26:56 1547 1
转载 Socket阻塞与非阻塞,同步于异步,I/O模型
目录(?)[-]概念理解Linux下的五种IO模型阻塞IO模型非阻塞IO模型IO复用模型信号驱动IO异步IO模型个IO模型的比较selectpollepoll简介socket阻塞与非阻塞,同步与异步作者:huangguisu1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async
2013-09-02 11:25:58 699
转载 从头说12种排序算法:原理、图解、动画视频演示、代码以及笔试面试题目中的应用 .
从这一部分开始直接切入我们计算机互联网笔试面试中的重头戏算法了,初始的想法是找一条主线,比如数据结构或者解题思路方法,将博主见过做过整理过的算法题逐个分析一遍(博主当年自己学算法就是用这种比较笨的刷题学的,囧),不过又想了想,算法这东西,博主自己学的过程中一直深感,基础还是非常重要的,很多难题是基础类数据结构和题目的思想综合发散而来。比如说作为最基本的排序算法就种类很多,而事实上笔试面试过程中发现
2013-09-29 17:55:30 2825
转载 桶排序详解
只为学习,只是为了提高自己的水平。桶排序目 录1定义2算法3代价4源码4.1 C++4.2 JAVA4.3 pl5应用5.1 海量数据5.2 典型1定义假定:输入是由一个随机过程产生的[0, 1)区间上均匀分布的实数。将区间[0, 1)划分为n个大小相等的子区间(桶),每桶大小1/n:[0, 1
2013-09-28 15:46:08 3471
原创 C语言中& | ^ ~ >> <<头疼的符号(不用+、-、×、÷做加法)
一直头疼的符号,现在不头疼了。我们都知道,数据在计算机里是以二进制形式表示的。在实际问题中,常常 也有一些数据对象的情况比较简单,只需要一个或几个二进制位就能够编码表示。如果在一个软件系统中这种数据对象非常多,用一个基本数据类型表示,对计算机 资源是一种浪费。另一方面,许多系统程序需要对二进制位表示的数据直接操作,例如许多计算机硬件设备的状态信息通常是用二进制位串形式表示的,如果要对硬 件设备
2013-09-28 12:13:06 6717 1
转载 50条学习C++建议
50条重要的C++学习建议 1.把C++当成一门新的语言学习(和C没啥关系!真的); 2.看《Thinking In C++》,不要看《C++变成死相》(C++编程思想,翻译的非常差); 3.看《The C++ Programming Language》(这本东西有影印板的)和《Inside The C++ Object Model》 ,不要因为他们很难而 我
2013-09-28 09:49:59 585
转载 C++面试题
1.下列程序的输出结果为:(B)#includevoid main(){ char* a[ ] = { "hello", "the", "world"}; char** pa = a; pa++; cout}A) theworld B) the C) ello D) ellotheworld
2013-09-25 22:22:55 667
转载 #define应用介绍
1.简单的define定义#define MAXTIME 1000一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写if(i编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。这样的定义看起来类似于普通的常量定义CONST,但也有着不同,因为define的定义更像是简单的文本替换,而不是作为一个量来使用,这个问题在下面反映的尤为突出。2.de
2013-09-25 10:52:01 1188
转载 瞬间秒杀掉:99%的海量数据处理面试题
一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。 毕竟受文章和理论之限,本文将摒弃绝大部分的细节,只谈方法/模式论,且注重用最通俗最直白的语言阐述相关问题。最后,有一点必
2013-09-22 21:55:06 1783 4
转载 项目中10个调试和排错的建议
在空白的文本编辑器里打开一个崭新的文本,没有一行代码,出现在眼前的是一个充满了无限可能和希望的项目。可是,当数千行的代码写完之后,整个项目因为bug的出现而被压垮了,更别说添加什么新功能了...这也许是对程序员的最大打击,在饱满的热情上浇了一盆冷水。其实,最好的软件程序员当然知道怎样去发现并修复这些bug,在刚开始编程的时候就通过软件工程的最好方法来降低bug的出现概率。几乎没有哪个程序员
2013-09-22 20:50:25 877
转载 STL中list,vector,deque,map,set区别、联系和使用场景原理
一、Vector:动态数组 vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随机存取,即[]操作符,但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当该数组后的内存空间不够时,需要重新申请一块足够大的内存并进行内存的拷贝。这些都大大影响了vector的效率。(中间插入和删除效率低)
2013-09-22 20:35:34 7956 1
数据库客户端工具
2012-12-26
学生选课系统
2012-12-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人