自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(177)
  • 资源 (16)
  • 收藏
  • 关注

原创 单例模式

在编写代码工程时,很多时候我们需要对象的唯一性,即整个工程或项目中只需要类的一个实例。可以通过设计模式的单例模式来实现。以下是我用c++实现的两种方式:第二种较第一种代码逻辑稍简单些。class Singlton{private: int m_nNum; static Singlton* m_pSinglton; Singlton(int num) { m_n

2014-10-24 21:38:27 1823

转载 QStyle

转贴: http://hi.baidu.com/yjj2008/blog/item/6cd4a1892ef0d4b60f2444a5.html本文介绍了如何使用qt提供的接口来设计自己的GUI风格(look and feel),并通过一个具体的例子(使QSpinBox垂直显示)来详细说明过程。运行环境:redhat 9.0,qt-x11-free-31.Qt的风格a) Qt简介 Q

2013-07-22 14:36:50 4041

原创 函数调用约定种类

函数调用约定在C语言中,假设我们有这样的一个函数:intfunction(int a,int b)调用时只要用result =function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参

2012-10-29 21:00:02 1724

原创 分享一道笔试题目--关于static和extern变量的问题

#include using namespace std;int count = 3;int main(){ int i, sum, count = 2; //输出main函数的count即为2 //cout<<count<<endl; for(i = 0, sum = 0; i < count; i += 2,count++) { //输出main函数的count即为每次循

2012-10-27 19:04:25 2122

原创 分享一道很有意思的算法题目

题目:有100盏灯和100个开关,刚开始的时候等全是灭的,someone第一轮按下所有开关(开的按一下变灭,灭的按一下变开),第二轮隔一个按一下(偶数个按),第三轮隔2个(3的倍数个按),求第100轮之后有多少盏灯是亮的。本题有三个层次的解法:第一个层次是暴力解法,即循环100轮,分别记录每一盏等的状态,最后统计一下亮灯的个数即可。此方法为下策,代码不必赘述。第二个层次是加入一些分析技巧。

2012-10-19 21:45:55 4509 2

原创 分享一道类继承的笔试题目

#includeusing namespace std;class A{public: virtual void fun1() { cout<<"A fun1"<<endl; } void fun2() { cout<<"A fun2"<<endl; }};class B :public A{public: void fun1

2012-10-15 21:39:57 2342 1

转载 四种进程或线程同步互斥的控制方法

四种进程或线程同步互斥的控制方法1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具有有限数量用户资源而设计。 4、事 件:用来通知线程有一些事件已发生,从而启动后继任务的开始。临界区(Critical Section)(同一个进程内,实现互斥)保证在某一时刻

2012-10-13 16:32:50 1585

转载 C++类型转换

C++的类型转换符 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。1static_cast用法:static_cast(expression) 该运算符把 expression 转换为 type-id 类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种

2012-10-12 11:03:47 1873

原创 2012年10月10号PPS笔试题目(c++开发)

1、智力题:有一堆扑克牌(具体哪个花色有哪些牌忘了),老师抽出一张来之后,告诉学生A这张牌的花色,告诉B这张牌的大小。然后A说:我不知道这张牌是什么。B说:我就知道你不知道这张牌的大小。A说:现在我知道了。B说:现在我也知道了。问:这张牌到底是什么?2.有11个乒乓球,有一个是伪劣产品,该产品较轻,现在有个没有砝码的天平,至多只称三次就能找出伪劣的产品。求怎么称。先左右各五个,如果一样

2012-10-11 15:16:00 5018 9

原创 2012年10月9号阿里巴巴笔试(c++)

1.BMP格式图像,图像深度为24位,一个512*1024的点阵图像所占空间是多少?答:(24/8)B*512*1024=1.5M2.十进制数字-3转换为3进制的补码结果是多少?答:-3可以表示为:符号位负号可表示为1, 3为十进制,可以表示为13,转换成三进制为110(符号位不变,3转变为10),补码的计算是源码的反码加1,110的反码为112(最高位为符号位不变,10反码为

2012-10-11 13:50:00 3161 7

原创 深入浅出MFC代码实例1--控制台程序中使用MFC类库

刚刚开始看深入浅出MFC,碰到一个小程序,就敲了一下,结果40行的代码搞了一上午才调试出来。贴出来大家共享一下:具体注意事项以及说明见代码注释。//第一个头文件编译出错,需要修改一下编译器设置,具体的是项目-属性-常规中MFC//的使用-在共享DLL中使用MFC#include#include//包含string是用来将CString转换成string类型,因为printf直接打印/

2012-09-26 10:27:17 2927

转载 linux中进程状态浅析

本文转自kouu's homelinux进程状态浅析众所周知,现在的分时操作系统能够在一个CPU上运行多个程序,让这些程序表面上看起来是在同时运行的。linux就是这样的一个操作系统。在linux系统中,每个被运行的程序实例对应一个或多个进程。linux内核需要对这些进程进行管理,以使它们在系统中“同时”运行。linux内核对进程的这种管理分两个方面:进程状态管理,和进程调度。

2012-09-24 13:24:56 1634

转载 linux标准库#include <unistd.h>

#include    符号常量是POSIX标准定义的unix类系统定义符号常量的头文件,包含了许多UNIX系统服务的函数原型,例如read函数、write函数和getpid函数unistd.h在unix中类似于window中的windows.h!#ifdef WIN32#include #else#include #endifunistd.h含

2012-09-23 14:31:57 15096 1

转载 #include <sys/types.h>的作用

#include 基本系统数据类型是Unix/Linux系统的基本系统数据类型的头文件,含有size_t,time_t,pid_t等类型。linux编程中经常用到的头文件。NAMEsys/types.h - data typesSYNOPSIS#include DESCRIPTIONThe header shall include defini

2012-09-23 14:20:52 8439 1

原创 linux下的g++编译器安装

再debian下直接apt-get install gcc g++就可以了。按照类似的逻辑,再Fedora下yum install gcc g++ 报告无法找到g++包。查了一下,原来这个包的名字叫做gcc-c++。完整的应该是yum install gcc gcc-c++。注意安装时要先成为root用户。具体的在终端输入su之后会提示输入管理员密码,输入之后在终端输入命令行yum ins

2012-09-22 16:01:05 43509 2

原创 50道c++面试题

0. static有什么用途?(请至少说明两种)1).限制变量的作用域,全局变量加上static之后全局变量的作用域是定义该变量的单个文件,而不加static的全局变量可以被同一个工程中的其他文件引用2).设置变量的存储域。局部变量加上static之后变量的存储区由栈变为全局区(也可以成为静态区)1. 引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能

2012-09-20 16:46:25 4040 3

原创 分享一道笔试题

打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 ),要求最外层为"X",第二层为"Y",从第三层起每层依次打印数字0,1,2,3,...例子:当N =5,打印出下面的图形:X X X X XX Y Y Y XX Y 0 Y XX Y Y Y XX X X X X 分析:该矩阵是一个原点对称矩阵,只要求出左上角的四分之一矩阵然后通过映射就可以。具体代码如

2012-09-20 11:01:52 1902 1

原创 类成员函数的重载、覆盖和隐藏区别?

答案:a.成员函数被重载的特征:(1)相同的范围(比如在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。b.覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual 关键字。c.“隐藏”是指派生类的函数屏蔽了与其同名的基

2012-09-18 10:51:26 8255 1

原创 网罗业内大牛对面试嵌入式者的考察题目

从面试者的角度来讲,一个测试也许能从多方面揭示应试者的素质:最基本的,你能了解应试者C语言的水平。不管怎么样,看一下这人如何回答他不会的问题也是满有趣。应试者是以好的直觉做出明智的选择,还是只是瞎蒙呢?当应试者在某个问题上卡住时是找借口呢,还是表现出对问题的真正的好奇心,把这看成学习的机会呢?我发现这些信息与他们的测试成绩一样有用。有了这些想法,我决定出一些真正针对嵌入式系统的考题,希望这些令

2012-09-18 09:02:14 2244

原创 百度笔试题目

1)此题10分 对任意输入的正整数N,编写C程序求N!的尾部连续0的个数,并指出计算复杂度。如:18!=6402373705728000,尾部连续0的个数是3。 (不用考虑数值超出计算机整数界限的问题) 答:此题可以转化成寻找能够被5整除和被10整除的数,然后统计该数中末尾0的个数和能被5整除的次数。#includeusing namespace std;int NumofZe

2012-09-17 15:46:57 1874 1

原创 百度笔试题

1)此题10分 对任意输入的正整数N,编写C程序求N!的尾部连续0的个数,并指出计算复杂度。如:18!=6402373705728000,尾部连续0的个数是3。 (不用考虑数值超出计算机整数界限的问题) 答:此题可以转化为统计n个数中能被5或10整除的数。因为末尾为0的出现是因为5*2的或者是该数中直接包含0(比如10)作用,因为5的倍数的前一个数肯定是2的倍数,所以只要找能够

2012-09-16 20:23:21 1487

原创 IBM笔试题

1.以下代码输出结果是intp=1;int q=-1;int i=-p++-q;printf("%d \n",i);答:结果是0。i=-p++-q;相当于i=-p-q;p++;最后p=2,q=-1。因为-的优先级大于++,2。以下代码输出结果是什么?注:原题为第三列代码,前两列为作为对照添加的代码#includeusing namespacest

2012-09-16 11:08:22 2147

原创 2012九月3号阿里巴巴笔试题目

第一题、5亿个不重复的商品的ID(每一个商品的ID是64位),现在有一个存放了10亿个商品ID(商品的ID会有重复)的日志文件,请设计一种方法找出5亿个商品中没有出现在日志文件中的商品。假设所能使用的内存为2G。2G的文件只能存放2.5亿的商品ID,因为5亿商品大小为5*10^8*8B=4G。可以考虑将5亿商品ID哈希到四个文件中A[4]。然后将10亿个商品哈希到另外四个文件中B[4]。每次读

2012-09-08 14:10:31 4381 4

原创 2012年九月六号阿里巴巴面试

1、介绍一下你自己。2、介绍一下你认为做的最好的一个项目。3、请用五分钟的时间把你做的项目的流程图画一下。4、项目中你遇到的难点是什么?怎么解决的?5、项目中你认为那个技术是你最拿手的?6、介绍一下HTTP协议7、如何把一个大的日志文件哈希到不同的哈希表中,这些哈希表的存储格式是什么?8、linux网络编程,画一个c/s通信的流程9、多线程了解多少,做过的项目中有没

2012-09-08 09:40:12 4157 16

原创 算法导论第32章——字符串匹配问题(KMP算法)

下面代码列举了普通字符串匹配算法和KMP算法。KMP算法原理见算法导论第32章。代码中有简单的注释可以帮助理解:#include#includeusing namespace std;#define MAX 10000//KMP算法时间复杂度为O(n+m),其中n为str的长度,m为pat的长度void kmp(string str,string pat){ boo

2012-09-01 11:10:41 3005

原创 关于创建对象时调用构造函数和析构函数的若干问题

先看一段代码输出的结果:#includeusing namespace std;class A{private: int b;public: A(int num):b(num){cout<<"带参构造函数!"<<endl;} A(){cout<<"不带参构造函数!"<<endl;} ~A(){cout<<"析构函数!"<<endl;}};A fun(A c){ r

2012-08-29 22:04:36 2558

原创 c++中传递字符指针容易犯的错误

先看一段容易犯错的代码段:#includeusing namespace std;char* GetMe(){ char st[]="hello word!"; return st; }int main(){ char *str; str=GetMe(); cout<<str<<endl; return 0;}该段代码可能输出正确结果,也可能输出错误结果。原

2012-08-29 10:29:31 3273

原创 c++如何传递动态内存

先看一段代码:#includeusing namespace std;void GetMe(char *p,int num){ p=(char*)malloc(sizeof(char)*num); }int main(){ char *str=NULL; GetMe(str,100); strcpy(str,"Hello!"); cout<<str<<endl; re

2012-08-29 09:49:32 2201 1

原创 静态成员变量与静态成员函数

静态成员变量不专属于某个对象,他属于整个类中所有对象的成员变量,在实例化一个对象的时候可能无法给它开辟内存,因此我们需要在全局为他开辟内存。#includeusing namespace std;class A { public: static int count; A(int i):key(i) { count++; cout<<"构造函数!"<<endl;

2012-08-27 14:54:34 1006

原创 const对象与const成员函数

const对象只能调用const成员函数:#includeusing namespace std;class A { public: void fun()const { cout<<"const 成员函数!"<<endl; } void fun() { cout<<"非const成员函数 !"<<endl; }}; int main(){ con

2012-08-26 21:21:17 2552

原创 面试集锦--构造函数初始化顺序问题

从 C++ 托管到 Visual C++,类构造函数的初始化顺序已经发生变化。构造函数初始化顺序的比较在 C++ 托管扩展中,构造函数的初始化是按以下顺序进行的:如果存在基类的构造函数则调用该构造函数。计算该类的初始化列表。执行类构造函数的代码正文。此执行顺序与本机 C++ 编程遵守相同的约定。 新 Visual C++ 语言规定了 CLR 类的

2012-08-25 20:31:23 1101 1

原创 面试集锦--函数的按引用返回与按地址返回

函数值按引用返回常见的一个错误:先来看一个错误代码:#includeusing namespace std;class A{private: int a;public: A(int num):a(num){cout<<"构造函数!"<<endl;} A(A &b) { a=b.a; cout<<"复制构造函数!"<<endl; } ~A() { cout

2012-08-25 19:06:33 915

原创 面试集锦--堆与栈的区别

1、在申请方式上的不同:栈是系统自动分配的,使用完后系统自动删除。堆是手动分配,使用完后手动删除。2、系统响应的不同:只要栈的剩余空间大于所申请的空间,系统就会为程序提供内存,否则系统提示栈溢出错误。但是系统收到堆申请空间,系统会遍历用于记录空闲内存的链表,直到找到满足大小的内存空间,,当找到后,系统就从内存空闲链表中删除,将该段内存分配给堆,同时在该段内存中的首地址处标记堆的大小。如果这

2012-08-25 14:39:06 1176

原创 面试集锦--09网易校园招聘笔试题

第一部分(必做): 计算机科学基础1. (单选)软件设计中模块划分应该遵循的准则是:A.低内聚低耦合 B.高内聚低耦合 C.低内聚高耦合 D.高内聚高耦合答案:B高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。高内聚  内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高

2012-08-24 14:24:32 2413

转载 什么是C++ traits

Traits技术可以用来获得一个 类型 的相关信息的。 首先假如有以下一个泛型的迭代器类,其中类型参数 T 为迭代器所指向的类型:template typename T>class myIterator{...};当我们使用myIterator时,怎样才能获知它所指向的元素的类型呢?我们可以为这个类加入一个内嵌类型,像这样:template typename T

2012-08-24 14:04:09 859

转载 类的内存对齐(类的sizeof)

1、空类的sizeof是1。空类是指没有成员的类,类中的函数不占空间,除非是虚函数。如: class A        {             public:                      A(){}                     ~A(){}                     void fun(){}         };sizeo

2012-08-24 10:30:51 1412 1

转载 typedef和#define的区别

1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如:#define PI 3.1415926 程序中的:area=PI*r*r 会替换为3.1415926*r*r 如果你把#define语句中的数字9 写成字母g 预处理也照样带入。 2)typedef是在编译时处理

2012-08-23 14:01:10 778

原创 面试集锦之---Top-K问题(百度面试题)

百度面试题:    搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。    假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用的内存不能超过1G。解题思路:step1:查询统计

2012-08-18 21:47:40 2729

原创 算法导论第十九章二项堆

自己写的bug应该很多BinHeapNode.h#includeusing namespace std;class BinHeap;class BinHeapNode{private: friend BinHeap; int key; BinHeapNode*parent; BinHeapNode*child; BinHeapNode*sibling; int deg

2012-08-15 15:24:23 1487

原创 算法导论第十八章B树

B树:BTreeNode.h#includeusing namespace std;class BTree;class BTreenode{private: friend BTree; //存放键值的数组 int * pkey; //当前有多少键值 int currentsize; //最大存放的键值 int maxsize; BTreenode* parent;

2012-08-14 15:18:32 2277

一本讲述python深度技术的好书

一本讲述python深度技术的好书 . zip

2016-01-04

C++面向对象多线程编程

C++面向对象多线程编程

2012-02-29

浙江大学ACM模板.doc

浙江大学ACM模板.doc

2011-11-24

常见软件单元测试工具列表大全

常见软件单元测试工具列表大全

2011-11-24

c++多线程编程

c++多线程编程

2011-11-24

ACM模板整理

ACM模板整理

2011-11-24

数据结构1800例题与答案

数据结构1800例题与答案

2011-11-24

元计算第二版全书部分内容

元计算第二版全书部分内容

2011-11-24

母函数模板

母函数模板

2011-11-24

C++实现数据结构中的各种算法

C++实现数据结构中的各种算法

2011-11-24

云计算环境下面向数据密集型应用的数据分布与策略

云计算环境下面向数据密集型应用的数据分布与策略

2011-11-24

淘宝类2011技术类笔试试题

淘宝类2011技术类笔试试题,很全面,很权威哦,对于要参加淘宝面试的人是最好不过的了。

2011-11-24

程序员晋级之路

不要乱买书不要乱追新技术新名词,基础的东西经过漫长时间的积累,十年不会变。

2011-11-24

Visual C++开发技术大全

很好的代码,讲述很全面。实例很精彩,很典型。是初学者参考的好资料

2011-11-24

空空如也

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

TA关注的人

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