自定义博客皮肤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)
  • 收藏
  • 关注

原创 4个女人要过一座桥的问题

4个女人要过一座桥。她们都站在桥的某一边,要让她们在17分钟内全部通过这座桥 。这时是晚上。她们只有一个手电筒。最多只能让两个人同时过桥。不管是谁过桥,不管 是一个人还是两个人,必须要带着手电筒。手电筒必须要传来传去,不能扔过去。每个女 人过桥的速度不同,两个人的速度必须以较慢的那个人的速度过桥。    第一个女人:过桥需要1分钟;    第二个女人:过桥需要2分钟;

2013-05-22 14:15:10 1074

原创 拷贝构造函数的参数类型必须是引用(转)

在C++中, 构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识。那么 拷贝构造函数的参数为什么必须使用引用类型?原因:       如果拷贝构造函数中的参数不是一个引用,即形如CClass(const CClass c_class),那么就相当于采用了传值的方式(pass-by-value),而传值的方式会调用该类的拷贝构造函数,从而造成无穷递归地调

2013-05-13 09:29:19 702

原创 一些简单编程问题的集合(转)

c++ 两个字符串连接输入两个长度不超过100的字符串放入两个不同的字符数组中,而后将两个输入串连接起来(放入第一个字符数组中),并输出结果串以及各串的长度(但不能使用标准库函数strcat及strlen)。【分析提示】1、说明:char s1[202], s2[101];并从键盘读入两个字符串放入此二数组中。2、将s2字符串连接到s1字符串的“后面”(压着

2013-05-11 10:53:15 604

原创 C++拷贝构造函数(深拷贝,浅拷贝)(转载)

对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include using namespace std;class CExample {private:  int a;public:  CExam

2013-05-11 10:51:47 386

原创 C++ 按位与运算符&、按位异或运算符^、按位或运算符|

1、 按位与运算符参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;即:两位同时为“1”,结果才为“1”,否则为0;另,负数按补码形式参加按位与运算。“与运算”的特殊用途:(1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。(2)取一个数中指定位方

2013-05-09 17:31:59 1505

原创 C语言深度剖析——个人笔记

1、const修饰的只读变量不能用来作为定义数组的维数,也不能放在 case关键字后面。2、#define ENG_PATH_3 E:\English\listen_to_this\listen\_to_this_3这里用了 4 个反斜杠,到底哪个是接续符?。注意:反斜杠作为接续符时,在本行其后面不能再有任何字符,空格都不行(前三个反斜杠后面都有字符,这一点是不满足作为连接符的

2013-05-08 10:01:58 747

原创 阿里巴巴笔试(3)——规律题+无语吐槽(转)

数字推理题主要有以下几种题型:  1.等差数列及其变式  例题:1,4,7,10,13,()  A.14 B.15 C.16 D.17  答案为C。我们很容易从中发现相邻两个数字之间的差是一个常数3,所以括号中的数字应为16。等差数列是数字推理测验中排列数字的常见规律之一。  例题:3,4,6,9,(),18  A.11 B.12 C.13 D.14  答案为C。仔细观

2013-05-04 23:23:03 1541

转载 从海量数据中找出中位数

题目和基本思路都来源网上,本人加以整理。题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。关于中位数:数据排序后,位置在最中间的数值。即将数据分成两部分,一部分大于该数值,一部分小于该数值。中位数的位置:当样本数为奇数时,中位数=(N+

2013-05-04 16:39:43 2459 1

转载 C++:静态联编和动态联编

联编就是将模块或者函数合并在一起生成可执行代码的处理过程,同时对每个模块或者函数调用分配内存地址,并且对外部访问也分配正确的内存地址,它是计算机程序彼此关联的过程。按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编和动态联编。静态联编是指在编译阶段就将函数实现和函数调用关联起来,因此静态联编也叫早绑定,在编译阶段就必须了解所有的函数或模块执行所需要检测的信息,它对函数的选择是基于

2013-05-04 15:13:26 761

转载 判断一个单向链表中是否有环

一段代码判断一个单向链表中是否有环。下面为链表中的结构体节点struct node{     int data;     node *next;}*linklist,*s,*t;方法一:    最简单的思路就是,定义一个指针数组,初始化为空指针,从链表的头指针开始往后遍历,每次遇到一个指针就跟指针数组中的指针相比较,若没有找到相同的指针,说明

2013-05-04 12:33:14 748

转载 一道笔试题:假设在n进制下,下面的等式成立,n的值是(),567*456=150216.

假设在n进制下,下面的等式成立,n的值是(),567*456=150216.完全是考数学的题目:http://topic.csdn.net/u/20100319/14/ffd0920a-b256-48d8-8d86-da36a3bfab8d.html做不出来也就算了,实际上,IT公司好多这样子的题目(腾讯除外),难怪考出来,成绩很差都可以进面试。这道题是google和淘宝的笔试题目,没

2013-05-04 11:27:12 987

转载 5个钢珠离开凹轨的最短时间和最长时间

问题:在一个长为33厘米的光滑凹轨上,在第3厘米、第6厘米、第19厘米、第22厘米、第26厘米处各有一个钢珠,凹轨很细,不能同时通过两个钢珠,开始时,钢珠运动方向是任意的。两个钢珠相撞后,以相同速度反向运动。假设所有钢珠初始速度为每秒运动1厘米,那么所有钢珠离开凹轨的最短和最长时间是多少? 分析:5个钢珠的移动方向都有两种可能:向左或者向右。这样钢珠运动的组合就有2的5次方,也就是

2013-05-04 10:53:25 1267 1

原创 重载符的定义

大多数的重载操作符可以定义为普通非成员函数或类的成员函数。运算符重载的实现运算符的重载形式有两种:重载为类的成员函数和重载为类的友元函数。运算符重载为类的成员函数的语法形式如下: operator (){  ;}运算符重载为类的友元函数的语法形式如下:friend operator (){  ;}注意:a、作为类成员的重载函数,其形参看起来比操

2013-05-03 20:35:47 718

转载 C++ inline 函数

(一)inline函数(摘自C++ Primer的第三版)在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联。      inline int min(int first, int secend) {/****/};      inline 函数对编译器而言必须是可见的,以便它能够在调用点内展开该函数。与非inline函数不同的是,inline函

2013-05-03 17:04:55 700

转载 C++构造函数私有化

通常我们都将构造函数的声明置于public区段,假如我们将其放入private区段中会发生什么样的后果?没错,我也知道这将会使构造函数成为私有的,这意味着什么?    我们知道,当我们在程序中声明一个对象时,编译器为调用构造函数(如果有的话),而这个调用将通常是外部的,也就是说它不属于class对象本身的调用,假如构造函数是私有的,由于在class外部不允许访问私有成员,所以这将导致编译出

2013-05-03 15:35:53 926

转载 虚继承与虚基类的本质

虚继承和虚基类的定义是非常的简单的,同时也是非常容易判断一个继承是否是虚继承的,虽然这两个概念的定义是非常的简单明确的,但是在C++语言中虚继承作为一个比较生僻的但是又是绝对必要的组成部份而存在着,并且其行为和模型均表现出和一般的继承体系之间的巨大的差异(包括访问性能上的差异),现在我们就来彻底的从语言、模型、性能和应用等多个方面对虚继承和虚基类进行研究。    首先还是先给出

2013-05-03 14:04:40 596

转载 C++ 对象的内存布局

转载地址:http://blog.csdn.net/haoel/article/details/3081328对象的影响因素简而言之,我们一个类可能会有如下的影响因素: 1)成员变量2)虚函数(产生虚函数表)3)单一继承(只继承于一个类)4)多重继承(继承多个类)5)重复继承(继承的多个父类中其父类有相同的超类)6)虚拟继承(使用virtual方式继承,

2013-05-03 13:42:32 611 1

转载 C++ 虚函数表解析

转载地址:http://blog.csdn.net/haoel/article/details/1948051前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,

2013-05-03 13:36:21 443

转载 typedef void (*Fun) (void)

为便于理解,你可以这样解释: typedef void(* Fun)(void) Fun 类似于 typedef int INT Fun在声明以后,可以把它当作数据类型声明其他变量 Fun的确切意义是一个函数指针类型,该函数没有参数且无返回值  定义了一个int类型的变量i; 而这样 typedef INT int; 表示用户自己定义了一个整型数据类型I

2013-05-03 12:59:15 616

转载 break / continue语句 与 switch

continue 和 break 语句都是循环体内的终止语句,但两者的区别是:1. continue在循环体内,略过循环体内continue下面的语句(即跳出本次循环),继续下一次循环,并不跳出整个循环体。2. break,略过循环体内break下面的语句,跳出整个循环体。两者的相同点是:都是只跳出本层循环体。即,一层一层的跳出。 并且:平常我们都是把break;语句用在s

2013-05-03 09:58:04 665

转载 分治算法基本思想和典型案例

1 算法思想 分而治之方法与软件设计的模块化方法非常相似。为了解决一个大的问题,可以: 1) 把它分成两个或多个更小的问题; 2) 分别解决每个小问题; 3) 把各小问题的解答组合起来,即可得到原问题的解答。小问题通常与原问题相似,可以递归地使用分而治之策略来解决。例1 [找出伪币] 给你一个装有1 6个硬币的袋子。1 6个硬币中有一个是伪造的,并且那个伪造的硬币比真的硬币要轻一些

2013-05-03 08:30:56 1804

转载 C++继承方式

C++继承方式总共分为以下几种:public、private、protected三种(它们直接影响到派生类的成员、及其对象对基类成员访问的规则)。(1)public(公有继承):继承时保持基类中各成员属性不变,并且基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象只能访问基类中的public成员。

2013-05-02 20:56:54 471

转载 c++强制类型转换

C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。const_cast:              主要针对const和volatile的转换.static_cast:              一般的转换,no run-time check.通常,如果你不知道该用哪个,就用这个。dynamic_cast:          通常在基类和派生类之间转换时使用,r

2013-05-02 20:40:05 462

空空如也

空空如也

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

TA关注的人

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