自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小_鱼的专栏

男儿立志出乡关,学不成名誓不还。埋骨何须桑梓地,人生无处不青山!

  • 博客(23)
  • 收藏
  • 关注

转载 C++虚函数原理

虚函数是在类中被声明为virtual的成员函数,当编译器看到通过指针或引用调用此类函数时,对其执行晚绑定,即通过指针(或引用)指向的类的类型信息来决定该函数是哪个类的。通常此类指针或引用都声明为基类的,它可以指向基类或派生类的对象。多态指同一个方法根据其所属的不同对象可以有不同的行为(根据自己理解,不知这么说是否严谨)。举个例子说明虚函数、多态、早绑定和晚绑定:  李氏两兄妹(哥哥

2013-10-31 13:51:13 450

转载 C++ 虚函数表解析

前言虚函数表一般继承无虚函数覆盖一般继承有虚函数覆盖多重继承无虚函数覆盖多重继承有虚函数覆盖安全性结束语附录一VC中查看虚函数表附录二例程C++ 虚函数表解析陈皓http://blog.csdn.net/haoel前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类

2013-10-31 13:47:02 421

转载 Select和epoll的区别

当一个节点和多个节点建立连接时,如何高效的处理多个连接的数据,下面具体分析两者的区别。1. select函数函数原型:int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);参数介绍:(1)nfds    -- fdset集合中最大

2013-10-26 23:14:38 459

转载 linux下C语言使用线程池(附带编码)

使用一个东西,我们要明白为什么使用它,如何使用它,使用它能达到什么效果在写本文章时,我也借鉴了网上的部分资源,因为是之前很早搜索到的资料无法追踪源头,所以在此不再写来源,谨感谢各位大神。1    使用线程池的原因通常使用多线程都是在需要的时候创建一个新的线程,然后执行任务,完成后退出。一般情况下是完全够满足我们的程序的。但是当我们需要创建大量的线程,并且执行一个简单

2013-10-23 21:42:42 445

转载 常用服务器模型总结

UNPv3上一共总结了9种服务器模型分别是:1.迭代服务器  2.并发服务器,为每个客户fork一个进程  3.预先派生子进程,每个子进程都调用accept,accept无上锁保护 4.预先派生子进程,以文件锁的方式保护accept  5.预先派生子进程,以线程互斥锁上锁的方式保护accept 6.预先派生子进程,由父进程向子进程传递套接口描述字  

2013-10-23 20:32:39 556

转载 如何从10亿查询词找出出现频率最高的10个? (Top K问题)

1. 问题描述在大规模数据处理中,常遇到的一类问题是,在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这类问题通常称为“top K”问题,如:在搜索引擎中,统计搜索最热门的10个查询词;在歌曲库中统计下载率最高的前10首歌等等。2. 当前解决方案针对top k类问题,通常比较好的方案是【分治+trie树/hash+小顶堆】,即先将数据集按照has

2013-10-19 21:20:00 1606

转载 STL系列十一 随机三趣题——随机重排,文件中随机取一行,生成N个随机数。

本文将介绍三个有趣的随机问题,分别是随机重新排列、从文件中随机取一行数据、生成N个随机数。 一.随机重新排列将一个序列打乱并对其进行随机的重新排列,关键在于每种序列的被选择概率要一样,不然有失“公平”。现在让我们来寻找如何保证每种序列被选择的概率一样大的算法。首先假设这个数组只有二个元素,设数组a为{1, 2},显然这个数组只有二种可能的排列,要么是{1,2}要么是

2013-10-12 22:34:35 701

转载 回调函数

1 什么是回调软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户

2013-10-07 23:29:56 433

转载 使用socket实现同一台计算机进程间通信

使用socket实现进程间通信:(UNIX domain中面向连接通信)    使用套接字除了可以实现网络间不同主机间的通信外,还可以实现同一主机的不同进程间的通信,且建立的通信是双向的通信。man unix内容如下:NAME( 名称)    unix, PF_UNIX, AF_UNIX, PF_LOCAL, AF_LOCAL ? 用于本地内部进程通讯的套接 字。SYNOP

2013-10-03 23:37:43 4959

转载 A、B两个整数集合,设计一个算法求他们的交集,尽可能的高效

A、B两个整数集合,设计一个算法求他们的交集,尽可能的高效思路1:排序法  对集合A和集合B进行排序(升序,用快排,平均复杂度O(N*logN)),设置两个指针p和q,同时指向集合A和集合B的最小值,不相等的话移动*p和*q中较小值的指针,相等的话同时移动指针p和q,并且记下相等的数字,为交集的元素之一,依次操作,直到其中一个集合没有元素可比较为止。  

2013-10-03 23:14:45 2232

转载 VC编程中20种各种编程技巧和方法

VC编程中20种各种编程技巧和方法1.    如何激活当前屏幕保护程序2.    如何禁止/启用屏幕保护及电源管理3.    如何激活和关闭IE浏览器4.    如何给树控件加入工具提示5.    如何获取系统信息框的路径6.    如何直接运行一个资源中的程序7.    如何遍历整个目录8.    如何禁止/启用系统热键9.    如何隐藏/显示WINDOWS

2013-10-03 18:50:38 1274

转载 SQL 语法参考手册

SQL 语法参考手册    DB2 提供了关连式资料库的查询语言 SQL (Structured Query Language),是一种非常口语化、既易学又易懂的语法。 此一语言几乎是每个资料库系统都必须提供的,用以表示关连式的操作,包含了资料的定义(DDL)以及资料的处理(DML)。SQL原来拼成SEQUEL,这语言的原型以“系统 R“的名字在 IBM 圣荷西实验室完成,经过IBM内部及

2013-10-03 18:33:44 526

转载 VC数据库编程 ADO示例

1. 生成应用程序框架并初始化OLE/COM库环境   创建一个标准的MFC AppWizard(exe)应用程序,然后在使用ADO数据库的InitInstance函数中初始化OLE/COM库(因为ADO库是一个COM DLL库)。本例为:  BOOL CAdotestDlg::OnInitDialog() { ::CoInitialize(NULL); //

2013-10-03 18:28:08 1696

转载 VC数据库编程 调用ADO的常用方法

概述   对于在WINDOWS上编写数据库程序的程序员来说,ActiveX Data Objects (ADO) 是最常使用的技术了,通过ADO可以简单的实现数据库的连接以及数据访问。但是在VC++中使用ADO时,却因为是使用COM的方式来调用,常常出现一些系统无法编译通过,或使用中程序非法出错的问题,在这里想大概介绍一下VC++中调用ADO的常用方法。  1、 用import导入AD

2013-10-03 18:15:17 650

转载 VC数据库编程 ADO常见问题

三、使用ADO编程常见问题解答  以下均是针对MS SQL 7.0编程时所遇问题进行讨论。  1、连接失败可能原因  Enterprise Managemer内,打开将服务器的属性对话框,在Security选项卡中,有一个选项Authentication。  如果该选项是Windows NT only,则你的程序所用的连接字符串就一定要包含Trusted_Conne

2013-10-03 18:02:41 638

转载 VC 数据库编程 ADO入门

ADO 是目前在Windows环境中比较流行的客户端数据库编程技术。ADO是建立在OLE DB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能(处理各种不同类型的数据源、分布式的数据处理等等)和极其简单、易用的编程接口,因而得到了广泛的应用。而且按微软公司的意图,OLE DB和ADO将逐步取代 ODBC和DAO。现在介绍ADO各种应用的文章和书籍有很多,本文着重站在初学者的角度,简要

2013-10-03 17:54:52 728

转载 VC数据库编程 MFC中相关类

CRecordSet类    一般情况下AppWizard会在数据库应用程序中自动产生CRecordset的派生类,并将派生类和某个数据源中的表联系起来也可以和视图上的子窗口联系起来。但是有时这样做会影响到程序的灵活性,这时候我们可以单独使用CRecordSet类。利用CRecordSet类我们可以执行SQL语句,并可以读出结果集中数据。    首先我们需要包含头文件afxdb

2013-10-03 17:19:58 618

原创 VC 数据库编程 ADO和ODBC区别

有很多种使用数据库的方法,对大多数数据库来说,选择C++这种产品也许并不适宜。我们知道,像dBASE IV,FoxPro,Oracle和Access这样的产品是完全以数据库管理为中心的。事实上,这些产品非常善于创建数据库管理器,以至于它们确实并不善于做太多其它的工作。即使要用更通用化而非更专用化的数据库产品来执行一些类型的工作,在使程序设计更容易这一方面,像VisualBasic和Delphi这样

2013-10-03 16:30:52 887

转载 VC 数据库编程 ADO

1 ADO是微软整个COM战略体系中的一个组成部分  活动数据对象(ADO)是一组由微软提供的COM组件。 ADO建立在微软所提倡的COM体系结构之上,它的所有接口都是自动化接口,因此在C++、VisualBasic、Delphi等支持COM的开发语言中通过接口都可以访问到ADO。ADO通过使用OLE DB这一新技术实现了以相同方式可以访问关系数据库、文本文件、非关系数据库、索引服务器和活

2013-10-03 16:25:25 561

转载 VC 数据库编程 ODBC基本概念

ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给OD

2013-10-03 13:11:10 641

转载 VC数据库编程 ADO操作Access

ADO提供了一组非常简单,将一般通用的数据访问细节进行封装的对象。由于ODBC数据源也提供了一般的OLE DB Privider,所以ADO不仅可以应用自身的OLE DB Privider,而且还可以应用所有的ODBC驱动程序。关于OLE DB和ADO的其它详细情况,读者可以自行查阅相关书籍或MSDN,这里就不一一说明了。让我们直接步入主题,如何掌握ADO这种数据库访问技术ADO的操作方法和前

2013-10-03 13:01:28 791

原创 C语言创建柔性数组

typedef struct {int array[];...} SoftArray;SoftArray* create_soft_array(int size){    SoftArray* ret = NULL;        if( size > 0 )    {        ret = (SoftArray*)malloc(sizeof

2013-10-03 12:37:48 599

原创 百度的系统设计题

你得先知道什么缓存假设 我现在要从包含大数据的文件中查找一个数据数据格式是一个结构体struct Data{    int id;    char name[255];   ...};那现在我们需要这么做呢  当用户发送一个id过来的时候  我们开始遍历文件  查找id相等的结构体记录现在我们发现一个规律  在多数情况下 前后 5次左右的

2013-10-02 12:23:08 579

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除