10 2011 档案

C语言文件操作
摘要:13.3 文件的打开与关闭文件在进行读写操作之前要先打开,使用完毕要关闭。所谓打开文件,实际上是建立文件的各种有关信息,并使文件指针指向该文件,以便进行其它操作。关闭文件则断开指针与文件之间的联系,也就禁止再对该文件进行操作。在C语言中,文件操作都是由库函数来完成的。在本章内将介绍主要的文件操作函数。13.3.1 文件的打开(fopen函数)fopen函数用来打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式);其中,“文件指针名”必须是被说明为FILE 类型的指针变量;“文件名”是被打开文件的文件名;“使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量 阅读全文

posted @ 2011-10-31 14:49 Hibernate4 阅读(268) 评论(0) 推荐(0) 编辑

死锁与饥饿
摘要:在多道程序系统中,同时有多个进程并发运行,共享系统资源,从而提高了系统资源利用率,提高了系统的处理能力。但是,若对资源的管理、分配和使用不当,则会产生死锁或是饥饿。所谓死锁是指在多道程序系统中,一组进程中的每一个进程军无限期等待被该组进程中的另一个进程所占有且永远不会释放的资源。饥饿是指系统不能保证某个进程的等待时间上界,从而使该进程长时间等待,当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死。下面我们就来分别讨论一下死锁与饥饿各自的特点。首先是死锁。产生死锁的原因主要有两个,一是竞争资源,系统提供的资源数 阅读全文

posted @ 2011-10-29 15:12 Hibernate4 阅读(445) 评论(0) 推荐(0) 编辑

win7生成生成Detours.lib以及简单使用实例
摘要:Detours是微软开发的一个函数库,可用于捕获系统API。在用其进行程序开发之前,得做一些准备工作:一.下载Detours 在http://research.microsoft.com/sn/detours可免费下载Detours二.安装Detours 一路NEXT三.生成Detours库 在安装后的文件夹下找不到直接可以拿来用的LIB文件,但是却有SRC文件(在**\Microsoft Research\Detours Express 2.1\src下)。该文件夹下还有Makefile,可以直接用来生成库。 将Detours路径下的SCR文件夹拷贝到**\Microsof... 阅读全文

posted @ 2011-10-29 15:00 Hibernate4 阅读(547) 评论(0) 推荐(0) 编辑

ctype.h里的函数大全
摘要:1 字符测试函数 1> 函数原型均为int isxxxx(int) 2> 参数为int, 任何实参均被提升成整型 3> 只能正确处理处于[0, 127]之间的值 2 字符映射函数 1> 函数原型为int toxxxx(int) 2> 对参数进行检测, 若符合范围则转换, 否则不变 int tolower(int); 'A'~'Z' ==> 'a'~'z' int toupper(int); 'a'~'z' ==> 'A'~'Z' 阅读全文

posted @ 2011-10-29 14:53 Hibernate4 阅读(723) 评论(0) 推荐(2) 编辑

__try,__except,__finally,__leave异常模型机制
摘要:导读:从本篇文章开始,将全面阐述__try,__except,__finally,__leave异常模型机制,它也即是Windows系列操作系统平台上提供的SEH模型。主人公阿愚将在这里与大家分享SEH( 结构化异常处理)的学习过程和经验总结。 深入理解请参阅<<windows 核心编程>>第23, 24章.SEH实际包含两个主要功能:结束处理(termination handling)和异常处理(exception handling)每当你建立一个try块,它必须跟随一个finally块或一个except块。一个try 块之后不能既有finally块又有except块 阅读全文

posted @ 2011-10-29 14:52 Hibernate4 阅读(210) 评论(0) 推荐(0) 编辑

指向类成员的指针
摘要:指向类成员的指针,印象中似乎很少用到,重新学习C++的过程中,才发现自己是忽视了一个很重要的东东,以前我一直认为类的成员函数不能作为回调函数,所以很多C程序都始终无法移植到C++上来,现在才知道,这是对指向类成员的指针不了解的缘故。 1、指向非静态成员的指针 其实指向非静态的类成员的指针很容易,它们与普通指针唯一的区别是,他们受类的限制。如下: class A { int _val; int val(); }; int (A::*p_val) = &A::_val; int ( A::*p_func )() = &A::val; 看到了吗,是的,和普通的指针的区别是,指... 阅读全文

posted @ 2011-10-29 14:50 Hibernate4 阅读(209) 评论(0) 推荐(0) 编辑

可重入函数
摘要:可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。可重入函数简介 也可以这样理解,重入即表示重复进入,首先它意味着这个函数可以被中断,其次意味着它除了使用自己栈上的变量以外不依赖于任何环境(包括static),这样的函数就是purecode(纯代码)可重入,可以允许有该函数的多个副本在运行,由于它们使用的是分离的栈. 阅读全文

posted @ 2011-10-29 14:48 Hibernate4 阅读(183) 评论(0) 推荐(0) 编辑

c++关键字详解(volatile, mutable, explicit, dynamic_ cast<T>(expression))等
摘要:1 volatile有些变量是用volatile关键字声明的。当两个线程都要用到某一个变量且该变量的值会被改变时,应该用volatile声明,该关键字的作用是防止优化编译器把变量从内存装入CPU寄存器中。如果变量被装入寄存器,那么两个线程有可能一个使用内存中的变量,一个使用寄存器中的变量,这会造成程序的错误执行。volatile的意思是让编译器每次操作该变量时一定要从内存中真正取出,而不是使用已经存在寄存器中的值,如下: volatile BOOL bStop = FALSE;在一个线程中: while( !bStop ) { ... } bStop = FALSE; return;在另外一个 阅读全文

posted @ 2011-10-29 14:45 Hibernate4 阅读(321) 评论(0) 推荐(0) 编辑

深入理解C++中的mutable关键字
摘要:mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。 在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。他只能用于类的非静态和非常量数据成员 我们知道一个对象的状态由该对象的非静态数据成员决定,所以随着数据成员的改变,对像的状态也会随之发生变化! 如果一个类的成员函数被声明为const类型,表示该函数不会改变对象的状态,也就是该函数不会修改类的非静态数据成员.但是有些时候需要在该类函数中对类的数据成员进行赋值.这个时候就需要用到mutable关键字了 .. 阅读全文

posted @ 2011-10-29 14:44 Hibernate4 阅读(272) 评论(0) 推荐(0) 编辑

C++的 RTTI 概念和用途
摘要:自从1993年Bjarne Stroustrup 〔注1 〕提出有关C++ 的RTTI功能之建议﹐以及C++的异常处理(exception handling)需要RTTI;最近新推出的C++ 或多或少已提供RTTI。 然而,若不小心使用RTTI,可能会导致软件弹性的降低。本文将介绍RTTI的观念和近况﹐并说明如何善用它。什么是RTTI? 在C++ 环境中﹐头文件(header file) 含有类之定义(class definition)亦即包含有关类的结构资料(representational information)。但是﹐这些资料只供编译器(compiler)使用﹐编译完毕后并未留下来﹐. 阅读全文

posted @ 2011-10-29 14:41 Hibernate4 阅读(233) 评论(0) 推荐(0) 编辑

private的虚函数
摘要:3.1 private的虚函数 考虑下面的例子:class A{public:void foo() { bar();}private:virtual void bar() { ...}};class B: public A{private:virtual void bar() { ...}}; 在这个例子中,虽然bar()在A类中是private的,但是仍然可以出现在派生类中,并仍然可以与public或者protected的虚函数一样产生多态的效果。并不会因为它是private的,就发生A::foo()不能访问B::bar()的情况,也不会发生B::bar()对A::bar()的overr.. 阅读全文

posted @ 2011-10-29 14:39 Hibernate4 阅读(561) 评论(0) 推荐(0) 编辑

C++委托简介
摘要:委托就是把具体事情让别人做,我只调用你的函数。下面是一个例子:class RealSort{public:void sort();};class MySort{private:RealSort rs;public:SetName(RealSort rs){ this->rs = rs;}void sort(){ rs.sort();}};这里MySort将具体事情sort委托给RealSort做。委托的作用在于保持抽象层的稳定,让抽象层不随之细节的变化而变化,也就是你上层的代码如何变化,下层的代码可以维持稳定。就以这个例子来说,开始要求用选择排序,后来老板的要求变了,要用快速排序,那么我 阅读全文

posted @ 2011-10-29 14:37 Hibernate4 阅读(152) 评论(0) 推荐(0) 编辑

关于拷贝构造函数和赋值运算符
摘要:重点:包含动态分配成员的类 应提供拷贝构造函数,并重载"="赋值操作符。以下讨论中将用到的例子:class CExample { public: CExample(){pBuffer = NULL; nSize = 0;} ~CExample(){delete pBuffer;} void Init(int n){ pBuffer = new char[n]; nSize = n;} private: char *pBuffer; //类的对象中包含指针,指向动态分配的内存资源 int nSize; };这个类的主要特点是包含指向其他资源的指针。pBuffer指向堆中分配的 阅读全文

posted @ 2011-10-29 14:36 Hibernate4 阅读(161) 评论(0) 推荐(0) 编辑

理解句柄类
摘要:在代理类的帮助下,我们已经可以实现在一个容器里存储一个类层次里所有类型的对象,但是代理有一个很明显的缺点,就是需要复制对象,当一个对象非常大或者是一种不能轻易复制的资源的时候,这个实现遇到了很大的困难,于是我们有了句柄(handle)类这个技术。 我们有这么一个类classpoint{public:point():x_cdt(0),y_cdt(0){}point(intx,inty):x_cdt(x),y_cdt(y){}intget_x(){ returnx_cdt; }intget_y(){returny_cdt; }point&set_x(intx)//返回值是point& 阅读全文

posted @ 2011-10-29 14:34 Hibernate4 阅读(221) 评论(0) 推荐(0) 编辑

C++中代理类和句柄类
摘要:指针是 C 与其他语言区别的重要特征之一,在 C++ 中,指针也被广泛运用,我们通过指针实现多态。然而,众所周知,指针的使用必须小心,否则很容易造成内存泄漏 Memory Leak。当我们有几个指针指向同一个对象时有其应该注意,关于何时释放这个对象:(1) 如果释放的太早,那么其它的指针仍然指向这片内存,如果再使用它会造成未定义行为。(2) 如果一直不释放可能会丢失最后一个指向这个对象的指针 导致内存无法被释放。用 C++ 的方法来解决这种问题就是建立一个类来包含需要管理的指针 ,由于这些类往往与被管理者相绑定 ,所以它们被称为 handel 类 ,人们再建立这种 handel 类的同时一般保 阅读全文

posted @ 2011-10-29 14:32 Hibernate4 阅读(173) 评论(0) 推荐(0) 编辑

表驱动法介绍
摘要:什么是表驱动 表驱动,又称之为表驱动法、表驱动方法。 “表”是几乎所有数据结构课本都要讨论的非常有用的数据结构。表驱动方法出于特定的目的来使用表,程序员们经常谈到“表驱动”方法,但是课本中却从未提到过什么是"表驱动"方法。表驱动方法是一种使你可以在表中查找信息,而不必用很多的逻辑语句(if或Case)来把它们找出来的方法。事实上,任何信息都可以通过表来挑选。在简单的情况下,逻辑语句往往更简单而且更直接。但随着逻辑链的复杂,表就变得越来越富有吸引力了,通过下面的这个例子大家就能知道什么是所谓的表驱动方法了。 假设你需要一个可以返回每个月中天数的函数(为简单起见不考虑闰年), 阅读全文

posted @ 2011-10-29 14:26 Hibernate4 阅读(149) 评论(0) 推荐(0) 编辑

c++ io标准库
摘要:原文见:http://hi.baidu.com/dwl_1989/blog/item/5cbad08b212849fbf01f369f.html我们从一开始就一直在利用C++的输入输出在做着各种练习,输入输出是由iostream库提供的,所以讨论此标准库是有必要的,它与C语言的stdio库不同,它从一开始就是用多重继承与虚拟继承实现的面向对象的层次结构,作为一个c++的标准库组件提供给程序员使用。 iostream为内置类型类型对象提供了输入输出支持,同时也支持文件的输入输出,类的设计者可以通过对iostream库的扩展,来支持自定义类型的输入输出操作。 为什么说要扩展才能提供支持呢?我们.. 阅读全文

posted @ 2011-10-29 14:24 Hibernate4 阅读(190) 评论(0) 推荐(0) 编辑

C++ 一些技巧
摘要:一如果函数对传入的指针参数进行修改,一定要把参数设置为指针的指针或者指针的引用// Delete the first occurrence of the node// which value equals item in a single linked listvoidDelete(Node *head,intitem){if(head->value == item) head = NULL ;}这段代码的问题是,第一个参数是指针类型而head = NULL修改的实际上是这个指针的一个副本(#add 诚然 这段代码仅为了用于防止野指针,因为仅将传入指针置为NULL,而没有去操作指针,显然 阅读全文

posted @ 2011-10-29 14:07 Hibernate4 阅读(99) 评论(0) 推荐(0) 编辑

C++局部类和嵌套类
摘要:如果嵌套类型和其外部类型之间的关系需要成员可访问性语义,需要使用C++嵌套类,嵌套类型不应针对其声明类型以外的类型执行任务,而C++局部类允许类、结构和接口被分成多个小块儿并存储在不同的源文件中,这样的实现很容易开发和维护。C++局部类:在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关(#add,这半句是什么屁话?)。局部类不能被外部所继承。在定义局部类时需要注意:局部类中不能说明静态成员函数,并且所有成员函数都必须定义在类体内(#add,因为除此之外没有别的地方可以写定义体)。在实践中,局部类是很少使用的。下面 阅读全文

posted @ 2011-10-29 13:56 Hibernate4 阅读(202) 评论(0) 推荐(0) 编辑

关于虚拟继承的思考
摘要:虚拟继承在一般的应用中很少用到,所以也往往被忽视,这也主要是因为在C++中,多重继承是不推荐的,而一旦离开了多重继承,虚拟继承就完全失去了存在的必要(因为这样只会降低效率和占用更多的空间,实在是一无是处)。 以下面的一个例子为例: #include <iostream.h> #include <memory.h> class CA { int k; //为了便于说明后面的内存结构特别添加 public: void f() {cout << "CA::f" << endl;} }; class CB : public CA { 阅读全文

posted @ 2011-10-29 13:53 Hibernate4 阅读(140) 评论(0) 推荐(0) 编辑

从Trie树(字典树)谈到后缀树(10.28修订)
摘要:从Trie树(字典树)谈到后缀树作者:July、yansha。出处:http://blog.csdn.net/v_JULY_v。引言 常关注本blog的读者朋友想必看过此篇文章:从B树、B+树、B*树谈到R 树,这次,咱们来讲另外两种树:Tire树与后缀树。不过,在此之前,先来看两个问题。 第一个问题: 一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前10个词,请给出思想,给出时间复杂度分析。 之前在此文:海量数据处理面试题集锦与Bit-map详解中给出的参考答案:用trie树统计每个词出现的次数,时间复杂度是O(n*le)(le表示单词的平均长度),然后是找出出现最频繁. 阅读全文

posted @ 2011-10-22 20:34 Hibernate4 阅读(139) 评论(0) 推荐(0) 编辑

程序员编程艺术第二十一~二章:发帖水王及扩展,与最短摘要生成(12.07修订)
摘要:第二十一~二十二章:出现次数超过一半的数字,最短摘要的生成前言 咱们先来看两个问题: 第一个问题来自编程之美上,Tango是微软亚洲研究院的一个试验项目,如图1所示。研究院的员工和实习生们都很喜欢在Tango上面交流灌水。传说,Tango有一大“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子总数的一半。如果你有一个当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能快速找出这个传说中的Tango水王吗? 图1Tango 第二个问题来自各位读者的手中,你我在百度或谷歌搜索框中敲入本博客名... 阅读全文

posted @ 2011-10-20 11:36 Hibernate4 阅读(155) 评论(0) 推荐(0) 编辑

十月下旬腾讯,网易游戏,百度迅雷校园招聘笔试题集锦(第271-330题)
摘要:十月下旬腾讯,网易游戏,百度最新校园招聘笔试题集锦(第271-330题)引言 此文十月百度,阿里巴巴,迅雷搜狗最新面试十一题已经整理了最新的面试题70道,本文依次整理腾讯,网易游戏,百度等各大公司最新校园招聘的笔试题,后续将继续整理十月下旬的笔/面试题。腾讯2011.10.15校园招聘会笔试题1、下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是(B)A、插入排序B、堆排序 C、冒泡排序 D、快速排序2、以下关于Cache的叙述中,正确的是(B)A、CPU中的Cache容量应大于CPU之外的Cache容量B、Cache的设计思想是在合理成本下提高命中率C、Cache的设计目标是容量. 阅读全文

posted @ 2011-10-17 11:42 Hibernate4 阅读(153) 评论(0) 推荐(0) 编辑

编程艺术第十六~第二十章:全排列/跳台阶/奇偶调序,及一致性hash算法
摘要:第十六~第二十章:全排列,跳台阶,奇偶排序,第一个只出现一次等问题作者:July、2011.10.16。出处:http://blog.csdn.net/v_JULY_v。引言 最近这几天闲职在家,一忙着投简历,二为准备面试而搜集整理各种面试题。故常常关注个人所建的Algorithms1-14群内朋友关于笔试,面试,宣讲会,offer,薪资的讨论以及在群内发布的各种笔/面试题,常感言道:咱们这群人之前已经在学校受够了学校的那种应试教育,如今出来找工作又得东奔西走去参加各种笔试/面试,着实亦不轻松。幻想,如果在企业与求职者之间有个中间面试服务平台就更好了。 ok,闲话少扯。在上一篇文章中,已经.. 阅读全文

posted @ 2011-10-17 00:00 Hibernate4 阅读(192) 评论(0) 推荐(0) 编辑

微软面试100题2010年版全部答案集锦(含下载地址)
摘要:微软等数据结构+算法面试100题全部答案集锦作者:July、阿财。时间:二零一一年十月十三日。引言 无私分享造就开源的辉煌。 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年。在一周年之际,特此分享出微软面试全部100题答案的完整版,以作为对本博客所有读者的回馈。 一年之前的10月14日,一个名叫July (头像为手冢国光)的人在一个叫csdn的论坛上开帖分享微软等公司数据结构+算法面试100题,自此,与上千网友一起做,一起思考,一起解答这些面试题目,最终成就了一个名为:结构之法算法之道的编程面试与算法研究并重的博客,如今,此博客影响力逐步渗透到海外,及至到整个互联网。 在此之前,由 阅读全文

posted @ 2011-10-13 15:25 Hibernate4 阅读(206) 评论(0) 推荐(0) 编辑

图灵社区 《实用Common Lisp编程》书评、读书笔记有奖征集
摘要:活动介绍1.活动时间2011年10月11日 —2011年11月10日2.参与要求1)参与活动的朋友必须是本网站注册会员;2)在此活动下直接报名即可3)评论内容、形式不限,但必须原创贴,不少于300字4)书评请发到“guzm@turingbook.com/zuoninger@sina.com”或传至QQ:52398720,标题中必须包含“书评”字样。3.活动细则1)参与此次活动的书籍的详细信息如下:实用Common Lisp编程公开样章:Lisp的诞生第五章:函数2)图灵公司享有获奖书评的转载权;4.奖项设置1)特别奖:5名赠送价值100元图书奖品参考: 《软件项目成功之道》、《写给程序员的we 阅读全文

posted @ 2011-10-12 17:26 Hibernate4 阅读(221) 评论(0) 推荐(0) 编辑

十月百度,阿里巴巴,迅雷搜狗最新面试七十题(第201-270题)
摘要:十月百度,阿里巴巴,迅雷搜狗最新面试七十题(第201-270题)引言当即早已进入10月份,十一过后,招聘,笔试,面试,求职渐趋火热。而在这一系列过程背后浮出的各大IT公司的笔试/面试题则蕴含着诸多思想与设计,细细把玩,思考一番亦能有不少收获。 上个月,本博客着重整理九月腾讯,创新工场,淘宝等公司最新面试十三题,此次重点整理百度,阿里巴巴,迅雷和搜索等公司最新的面试题。同上篇一样,答案望诸君共同讨论之,个人亦在慢慢思考解答。多谢。最新面试十一题十月百度:一个数组保存了N个结构,每个结构保存了一个坐标,结构间的坐标都不相同,请问如何找到指定坐标的结构(除了遍历整个数组,是否有更好的办法)?(要么预 阅读全文

posted @ 2011-10-09 15:45 Hibernate4 阅读(497) 评论(0) 推荐(0) 编辑

从上百幅架构图中学得半点大型网站建设经验(上)
摘要:从上百幅架构图中学大型网站建设经验(上)引言 近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图背后所隐藏的设计思想所叹服。个人这两天一直在搜集各大型网站的架构设计图,一为了一饱眼福,领略各类大型网站架构设计的精彩之外,二来也可供闲时反复琢磨体会,何乐而不为呢?特此,总结整理了诸如国外wikipedia,Facebook,Yahoo!,YouTube,MySpace,Twitter,国内如优酷网等大型网站的技术架构(本文重点分析优酷网的技术架构),以飨读者。 本文着重凸显每一幅图的精彩之处与其背后含 阅读全文

posted @ 2011-10-01 17:27 Hibernate4 阅读(383) 评论(1) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示