随笔分类 -  c++

c++才是王道
摘要:public(公共的、默认)protected(受保护的)private(私有的)public(公共的、默认)在PHP5中如果类没有指定成员的访问修饰符,默认就是public的访问权限。protected(受保护的)被声明为protected的成员,只允许该类的子类进行访问。private(私有的 ) 被定义为private的成员,对于类内部所有成员都可见,没有访问限制。对类外部不允许访问。 阅读全文
posted @ 2013-08-20 09:58 路过你的苦 阅读(169) 评论(0) 推荐(0)
摘要:1.STL hash_map2.socket3.网页抓取原理(http协议)4.linuxgrep/top/kill/vi/gdb5.推荐系统协同过滤算法6.数据挖掘关联规则/分类/聚类朴素贝叶斯特征提取信息熵TF-IDF7.项目一起搜索8.10亿个整数,内存1G,找出中位数9.5亿条查询,如何找出top-N 阅读全文
posted @ 2013-07-03 21:17 路过你的苦 阅读(181) 评论(0) 推荐(0)
摘要:1.博文抽取2.多线程一个进程整型变量n=0,十个线程分别编号1-10,多线程实现分别+1,但是要求线程必须在变量为相应编号时+1。3.socket客户端+服务端4.socket阻塞非阻塞同步、异步、阻塞、非阻塞5.网页排名6.select()函数7.插入排序和冒泡排序的思想及区别 阅读全文
posted @ 2013-07-03 21:05 路过你的苦 阅读(256) 评论(0) 推荐(0)
摘要:转自:http://wenku.baidu.com/view/15d18b4533687e21af45a9a4.html1.C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等。2.标准关联容器set, multiset, map, multimap内部采用的就是一种非常高效的平衡检索二叉树:红黑树,也成为RB树(Red-Black Tree)。RB树的统计性能要好于一般的平衡二叉树。3. 阅读全文
posted @ 2013-07-03 09:44 路过你的苦 阅读(244) 评论(0) 推荐(0)
摘要:1.快速排序2.堆排序3.归并排序[o(n);o(nlog);稳定排序]void MergeSort(int a[],int left,int right){if(left<right){ //至少有2个元素int mid=(left+right)/2; //取中点left+(right-left)/2MergeSort(a,left,mid);MergeSort(a,mid+1,right);Merge(a,b,left,mid,right); //合并到数组bCopy(a,b,left,right); //复制回数组a }}void Merge(int... 阅读全文
posted @ 2013-07-02 08:07 路过你的苦 阅读(186) 评论(0) 推荐(0)
摘要:1.assert作用assert(exp)就是一个debug断言,断定(exp)里面的表达试一定为真,否则弹出debug断言框。 阅读全文
posted @ 2013-06-30 15:45 路过你的苦 阅读(117) 评论(0) 推荐(0)
摘要:1.整数转化为字符串用除余法先转化(temp[i]=num%10+'0')再逆序2.字符串转化为整数从前往遍历逐位乘10累加法(num=num*10+(temp[i]-'0')) 阅读全文
posted @ 2013-06-30 15:42 路过你的苦 阅读(197) 评论(0) 推荐(0)
摘要:转自:http://blog.csdn.net/eulb/article/details/2177500先来回答第一个问题,线程实际主要应用于四个主要领域,当然各个领域之间不是绝对孤立的,他们有可能是重叠的,但是每个程序应该都可以归于某个领域:1、offloading time-consuming task。由辅助线程来执行耗时计算,而使GUI有更好的反应。我想这应该是我们考虑使用线程最多的一种情况吧。2、Scalability。服务器软件最常考虑的问题,在程序中产生多个线程,每个线程做一份小的工作,使每个CPU都忙碌,使CPU(一般是多个)有最佳的使用率,达到负载的均衡,这比较复杂,我想以后 阅读全文
posted @ 2013-06-28 22:47 路过你的苦 阅读(218) 评论(0) 推荐(0)
摘要:1.哈希各种冲突消解策略比较(1)开放地址法(2)链接法链地址法处理冲突简单,且无堆积现象,即非同义词决不会发生冲突,因此平均查找长度较短;链地址法中链表的结点是动态申请的,故它更适合造表前无法确定表长的情况,开放定址法为了减少冲突要求填充因子较小,故结点规模较大时会浪费很多空间,而链地址法中填充因子可以大于1且结点较大时,拉链法中增加的指针域可以忽略不计,因此节省空间。2.父进程子进程(1)父子进程关系. 进程组处理进程组的概念是这样的,当系统启动时,第一个进程是init,其进程组号等于进程号,由他产生的任何子进程的进程组号也相同,子进程的子进程也继承该进程组号,这样,由init所生成的任何 阅读全文
posted @ 2013-06-28 11:14 路过你的苦 阅读(375) 评论(0) 推荐(0)
摘要:转自:http://blog.csdn.net/hguisu/article/details/74533901. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回这个期间客户端浏览器不能干任何事异步:异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完 阅读全文
posted @ 2013-06-24 16:02 路过你的苦 阅读(225) 评论(0) 推荐(0)
摘要:转载:http://www.cnblogs.com/zhanglong0426/archive/2010/10/06/1844700.html一共有十五个优先级:1 () [] . ->2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof3 * / %4 + -5 >> >= >= 全体单目第二; //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&乘除余三,加减四; //这个"余"是指取余运算即%移位五,关系六; //移位运算符:> ,关系:> = 阅读全文
posted @ 2013-06-22 15:12 路过你的苦 阅读(158) 评论(0) 推荐(0)
摘要:1.类是对象的抽象,抽象类是类的抽象;接口是对行为的抽象。抽象类是对整体(字段、属性、方法)的抽象,接口只是对类的局部(行为)的抽象。2.对于一些相似的类对象,可以用抽象类;如果行为跨越不同类的对象,可使用接口。猫、狗都可以继承抽象类动物,但飞机、超人、麻雀分属于不同的类别但又有共同的行为,用接口继承。3.抽象类是从子类中发现公共的东西,泛化出父类,然后子类继承父类;(自底向上)而接口根本不道子类的存在,方法如何实现还不知道,预先定义。(自顶向下) 阅读全文
posted @ 2013-06-21 23:28 路过你的苦 阅读(132) 评论(0) 推荐(0)
摘要:转自:http://www.cnblogs.com/york-hust/archive/2012/05/29/2524658.html1、C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗?能!struct能继承吗?能!!struct能实现多态吗?能!!!最本质的一个区别就是默认的访问控制,体现在两个方面:1)默认的继承访问权限。struct是public的,class是private的。写如下的代码:struct A{char a;};struct B : A{char b;};这个时候B 阅读全文
posted @ 2013-06-19 23:28 路过你的苦 阅读(171) 评论(0) 推荐(0)
摘要:转自:http://blog.csdn.net/ericbaner/article/details/3857268override->重写(=覆盖)、overload->重载、polymorphism -> 多态override重写(覆盖)override重写了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。重写(覆盖)的规则: 1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载. 2、重写的方法的返回值必须和被重写的方法的返回一致; 3、重写的方法所抛出的异常必须和被重写方法的所抛出的异常一致,或者是其子类; 阅读全文
posted @ 2013-06-18 12:40 路过你的苦 阅读(244) 评论(0) 推荐(0)
摘要:转自:http://blog.chinaunix.net/uid-25808509-id-354211.html拷贝构造函数和赋值构造函数的异同 由于并非所有的对象都会使用拷贝构造函数和赋值函数,程序员可能对这两个函数有些轻视。请先记住以下的警告,在阅读正文时就会多心:如果不主动编写拷贝构造函数和赋值函数,编译器将以“位拷贝”的方式自动生成缺省的函数。倘若类中含有指针变量,那么这两个缺省的函数就隐含了错误。以类String 的两个对象a,b 为例,假设a.m_data 的内容为“hello”,b.m_data 的内容为“world”。现将a 赋给b,缺省赋值函数的“位拷贝”意味着执行b.m_. 阅读全文
posted @ 2013-06-16 09:52 路过你的苦 阅读(203) 评论(0) 推荐(0)
摘要:转自:http://blog.csdn.net/axman/article/details/14811971.什么是线程池?线程池就是以一个或多个线程[循环执行]多个应用逻辑的线程集合.注意这里用了线程集合的概念是我生造的,目的是为了区分执行一批应用逻辑的多个线程和线程组的区别.关于线程组的概念请参阅基础部分.一般而言,线程池有以下几个部分:1.完成主要任务的一个或多个线程.2.用于调度管理的管理线程.3.要求执行的任务队列.那么如果一个线程循环执行一段代码是否是线程池?如果极端而言,应该算,但实际上循环代码应该算上一个逻辑单元.我们说最最弱化的线程池应该是循环执行多个逻辑单元.也就是有一批要 阅读全文
posted @ 2013-06-04 11:33 路过你的苦 阅读(211) 评论(0) 推荐(0)
摘要:转自:http://hi.baidu.com/lasting_star/item/940469918678d4f72816472aC语言/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。(1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。例如:#include<stdio.h>#include<stdlib.h>vo 阅读全文
posted @ 2013-06-02 21:01 路过你的苦 阅读(352) 评论(0) 推荐(0)