上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 58 下一页
  2013年4月19日
摘要: 析构函数如果一个类想被别人继承,通常析构函数要声明为虚函数,否则,如下代码就会出现未定义情况。Base* p=new Derived();delete p;这句话反过来说,就是如果你不打算让别人派生你的类,就不要把析构函数声明为虚函数,当然对方是菜鸟的话,你也没办法。极端特殊情况下,只要使用者保证不会多态的析构(像上面的例子),也可以通融。继承与访问权限基类的private成员,只能由基类或者基类的友元访问,也就是说既不能被类外部的调用者(客户)访问,也不能被子类访问。或许是提供一种相对宽松的选择,protected成员允许派生类访问,但是拒绝外部调 用者的访问。<<C++Prim 阅读全文
posted @ 2013-04-19 16:29 猿人谷 阅读(319) 评论(0) 推荐(0)
摘要: 来源:http://www.cnblogs.com/dongzhiquan/archive/2012/07/12/2588906.html在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等.但是仍然为其保留一定的信息(包括进程号the process ID,退出状态the termination status of the process,运行时间the amount of CPU time taken by the process等),直到父进程通过wait / waitpid来取时才释放,此时该进程便成为僵尸进程。1.什么是僵尸进程? UNIX 系统中,一个进程结 阅读全文
posted @ 2013-04-19 16:18 猿人谷 阅读(4203) 评论(0) 推荐(1)
  2013年4月18日
摘要: 类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点: 1.静态数据成员的定义。 静态数据成员实际上是类域中的全局变量。所以,静态数据成员的定义(初始化)不应该被放在头文件中。 其定义方式与全局变量相同。举例如下: xxx.h文件 class 阅读全文
posted @ 2013-04-18 17:12 猿人谷 阅读(258) 评论(0) 推荐(0)
  2013年4月17日
摘要: 来源:http://www.cppblog.com/woaidongmao/archive/2010/07/01/119024.htmlC++中派生类对基类成员的访问形式主要有以下两种:1、内部访问:由派生类中新增成员对基类继承来的成员的访问。2、对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问。今天给大家介绍在3中继承方式下,派生类对基类成员的访问规则。1、私有继承的访问规则当类的继承方式为私有继承时,基类的public成员和protected成员被继承后成为派生类的private成员,派生类的其它成员可以直接访问它们,但是在类的外部通过派生类的对象无法访问。基类的priv 阅读全文
posted @ 2013-04-17 13:46 猿人谷 阅读(1652) 评论(0) 推荐(0)
  2013年4月15日
摘要: 来源:http://www.cnblogs.com/Braveliu/archive/2013/01/04/2844757.html【1】设置或者清除某位。示例代码如下: 1 #include<iostream> 2 using namespace std; 3 4 #define BIT3 (0x1<<3) 5 6 void Set_bit3(int &a) 7 { 8 a|=BIT3; 9 }10 11 void Clear_bit3(int &a)12 {13 a&=~BIT3;14 }15 16 void main()17 {18 int 阅读全文
posted @ 2013-04-15 13:32 猿人谷 阅读(594) 评论(0) 推荐(0)
摘要: 来源:http://www.cnblogs.com/Braveliu/archive/2013/01/04/2844858.html 堆是堆,栈归栈在阅读以下内容之前,请了解一下几点:第一:坚决澄清:堆是堆,栈归栈。第二:曾经的“堆栈”再不允许重谈,简直就是扯淡!第三:下面内容均属于从内存分配角度的阐述,不要与数据结构混淆。【1】程序的内存分配(1)内存分配详解一个由C/C++编译的程序占用的内存分为以下几个部分<1>栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。<2>堆区(heap) — 一般由程序员设计分配及释放,若程序员不释放,程序 阅读全文
posted @ 2013-04-15 13:28 猿人谷 阅读(247) 评论(0) 推荐(0)
  2013年4月12日
摘要: 来源:http://www.cnblogs.com/lmule/archive/2010/08/18/1802774.html简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将 阅读全文
posted @ 2013-04-12 14:13 猿人谷 阅读(368) 评论(0) 推荐(0)
摘要: 学习电脑和编程语言就会遇到进程和线程,初学者往往会在此陷入迷茫和纠结中。其实弄清这两个概念不是很难。从一定意义上讲,进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。方法/步骤进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。通 常在一个进程中可以包含若干个线 阅读全文
posted @ 2013-04-12 13:54 猿人谷 阅读(262) 评论(0) 推荐(0)
  2013年4月9日
摘要: 来源:http://51ctoblog.blog.51cto.com/26414/929322#559183-qzone-1-70272-9032e4e5e88102269a9addf0a99ae97c20年前的夏天,Linux之父 你牛死.脱袜子 (Linus Torvalds) 勇敢的向全世界共享他编写的操作系统,从此这个诞生于一个偶然机会的Linux开始壮大。博文专题1 【Linux二十周年】爱上Linux的N+1个理由 http://blog.51cto.com/zt/422 构建高可用 Linux 服务器 http://blog.51cto.com/zt/1853 一招一式攻克 Li 阅读全文
posted @ 2013-04-09 09:44 猿人谷 阅读(405) 评论(0) 推荐(0)
  2013年4月1日
摘要: 记得在刚找工作时,隔壁的一位同学在面试时豪言壮语曾实现过网络爬虫,当时的景仰之情犹如滔滔江水连绵不绝。后来,在做图片搜索时,需要大量的测试图片, 因此萌生了从Amazon中爬取图书封面图片的想法,从网上也吸取了一些前人的经验,实现了一个简单但足够用的爬虫系统。网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成,其基本架构如下图所示:传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。对于垂直搜索来说,聚焦爬虫,即有针对性地爬取特定主题网页的爬虫,更为适合。本 阅读全文
posted @ 2013-04-01 16:27 猿人谷 阅读(729) 评论(0) 推荐(0)
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 58 下一页