- 博客(63)
- 资源 (1)
- 收藏
- 关注
转载 C++静态库与动态库
这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库
2014-05-13 11:21:19
641
转载 linux 多线程编程
前言线程?为什么有了进程还需要线程呢,他们有什么区别?使用线程有什么优势呢?还有多线程编程的一些细节问题,如线程之间怎样同步、互斥,这些东西将在本文中介绍。我在某QQ群里见到这样一道面试题:是否熟悉POSIX多线程编程技术?如熟悉,编写程序完成如下功能:1)有一int型全局变量g_Flag初始值为0;2) 在主线称中起动线程1,打印“this is thread1”,并将g
2014-05-12 18:13:13
602
转载 网络字节序与主机字节序
网络字节序与主机字节序不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序 最常见的有两种1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起始地址LE little-endian 最符合人的思维的字节序 地址低位存储值的低位 地址高位存储值的高位 怎么讲是最符合
2014-05-07 12:30:33
668
转载 C++中虚析构函数的作用
我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:class ClxBase{public: ClxBase() {}; virtual ~ClxBase() {}; virtual void DoSomething() { cout "D
2014-04-24 20:26:11
656
转载 二叉树的遍历 递归 非递归 C++ 实现
二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对
2014-04-24 14:33:25
714
转载 C++ STL中哈希表 hash_map介绍
转自:http://www.cnblogs.com/waytofall/archive/2012/06/04/2534386.html0 为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人
2014-04-23 14:50:20
1155
转载 C++ const 用法
本文转自:http://www.cnblogs.com/jiabei521/p/3335676.html1.const关键字常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。不管出现在任何上下文都是为这个目的而服务的。2.const使用方法定义const对象const修饰符可以把对象转变成常数对象,意思就是说
2014-03-22 11:16:59
957
转载 Rabin-Karp 算法(字符串快速查找)
Go 语言的 strings 包(strings.go)中用到了 Rabin-Karp 算法。Rabin-Karp 算法是基于这样的思路:即把字符串看作是字符集长度进制的数,由数值的比较结果得出字符串的比较结果。 朴素的字符串匹配算法为什么慢?因为它太健忘了,前一次匹配的信息其实有部分可以应用到后一次匹配中去,而朴素的字符串匹配算法只是简单的把这个信息扔掉,从头再来,因此,浪费了时间。
2014-03-21 10:12:55
1271
转载 Linux下安装和卸载(rpm,tar,dpkg)
本文转自:http://blog.csdn.net/xiaolanzao/article/details/17173543一、 了解Linux应用软件安装包: 通常Linux应用软件的安装包有三种: 1) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。 2) rpm包,如software-1.2.3
2014-03-06 22:02:22
1225
转载 字符编码笔记:ASCII,Unicode和UTF-8
本文转自:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种
2014-03-03 22:27:50
868
转载 win7下安装JDK并且配置环境变量
最近在学JSP,今天很纳闷在HTML里的JSP总是不会经过编译直接显示在服务器的浏览器上,后来查了半天才发现装JDK的时候应该装上JDK和JRE两个部分,而我只装了JRE之前还没发现。JDK是java的编译环境,这也是为什么我的JSP在服务器上老是编译不了而直接把所有代码直接显示出来了的原因。 无奈重新装了下JDK,这篇文章写得比较详细,转过来给大家参考参考吧~ 本文转自http:
2014-02-25 23:23:24
1269
原创 Big Endian 和 Little Endian
本文转自http://blog.csdn.net/sunshine1314/article/details/2309655一、字节序来自:http://ayazh.gjjblog.com/archives/1058846/谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endi
2014-02-22 20:24:06
1014
转载 C语言中的static变量和C++静态数据成员
C语言中static的变量:1).static局部变量a、静态局部变量在函数内定义,生存期为整个程序运行期间,但作用域与自动变量相同,只能在定义该变量的函数内使用。退出该函数后, 尽管该变量还继续存在,但不能使用它。b、对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。而对自动变量不赋初值,则其值是不定的。2).static全局变量全局变量本身就
2013-12-10 20:51:51
1261
原创 POJ 1006 中国剩余定理
初见poj1006用的暴力破解写的代码,写完以后发现很搓。上网一查原来古人早就对此类问题有了解答规则。一、中国剩余定理一元线性同余方程组问题最早可见于中国南北朝时期(公元5世纪)的数学著作《孙子算经》卷下第二十六题,叫做“物不知数”问题,原文如下:有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?即,一个整数除以三余二,除以五余三,除以七余二
2013-12-01 21:32:13
1178
转载 typedef和#define的用法与区别
typedef和#define的用法与区别 一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;typedef int ARRAY[10];typedef (int*) pINT;typedef可以增强程序的可读性,以及标识符的灵活性,但
2013-11-29 19:04:48
776
转载 C/C++数组名与指针区别
魔幻数组名 请看程序(本文程序在WIN32平台下编译):1. #include 2. int main(int argc, char* argv[])3. {4. char str[10];5. char *pStr = str;6. cout 7. cout 8. return 0;9. } 1、数
2013-11-27 00:10:57
704
转载 C++中this指针的用法.
this指针只能在一个类的成员函数中调用,它表示当前对象的地址。下面是一个例子: void Date::setMonth( int mn ) { month = mn; // 这三句是等价的 this->month = mn; (*this).month = mn; } 1. this只能在成员函数中使用。全局函数,静态函数都
2013-11-18 23:01:53
918
转载 虚函数与纯虚函数
虚函数为了重载和多态的需要,在基类中是由定义的,即便定义是空,所以子类中可以重写也可以不写基类中的函数!纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中的接口函数!虚函数引入原因:为了方便使用多态特性,我们常常需要在基类中定义虚函数。class Cman{public: virtual void Eat(){……};
2013-11-18 20:55:32
792
转载 Java多线程编程详解
线程的同步 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。由于我们可以通过 private 关键字来保证数据对象只能被方法访问,所以我们只需针对方法提出一套机制,这套机制就是 synchronized 关键字,它包括两种用法:synchro
2013-11-01 19:51:18
1357
转载 Java中equals和==的区别
java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean他们之间的比较,应用双等号(==),比较的是他们的值。2.复合数据类型(类)当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为f
2013-10-27 22:15:17
693
转载 关于static 的各种数据类型
一、面向过程中的static按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。1定义全局静态变量的好处:不会被其他文件所访问,修改其他文件中可以使用相同名字的变量,不会发生冲突。2在局部变量之前加上关键字static,局部变量就被定义成为一个局部静态变量。(1)和全局静态变量一样都在静态存储区域(2)
2013-10-18 13:12:37
2838
原创 数组的静态分配和动态分配
相信许多C++的初学者像我一样搞不清楚为什么有时候使用数组的时候需要使用new语句,而有时候直接定义就好。上网找了找资料整理如下:1、在使用数组前用new表达式动态分配数组空间,new表达式在堆中分配空间,但是new之后还需delete,比较麻烦,初学者比较容易忘记,效率较低;而数组的静态分配,也就是在数组声明时直接在[ ]中指定数组的长度这种方式的内存实在栈上分配,在结束生命周期后自动释放,
2013-10-15 15:35:20
3307
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅