C++
文章平均质量分 74
monsterXD
IT技术宅
展开
-
C++ 模板学习
1.模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,int y);{return(x>y)?x:y ;}//函数2.float转载 2012-11-05 22:20:33 · 419 阅读 · 0 评论 -
【2013微软校招面试题】将链表的奇偶位交换,不能使用交换链表中的值这种做法。
/* * 将链表的奇偶位交换,不能使用交换链表中的值这种做法。 * 题意即将链表: head->1->2->3->4->…… 变成 head->2->1->4->3->…… * */ 解题思路:直接遍历链表进行处理即可,注意指针的赋值等细节即可~详见代码如下: #include using namespace std;const int M原创 2012-12-27 17:07:08 · 957 阅读 · 0 评论 -
【2013一道百度的笔试题】两个字符串操作多少步后变成一样的(编辑距离)
/* * *题目: *给定字符函数 a、插入 b、删除 c、替换 *例如字符串A=acegf,字符串B=adef,最少需要2步操作将A转换为B, *即第一步将c替换为d,第二步将g删除; *(1)请问将字符串A=gumbo转换为字符串B=gambol,最少需要几步操作,列出如何操作(2分) *(2)任意字符串A和字符串B,如何计算最小操作次数,原创 2013-01-04 12:27:47 · 1202 阅读 · 0 评论 -
【2013微软校招面试题】输出节点数为n的二叉树的所有形态
/* * 题意,求节点数为n的二叉树的所有形态,先要想个方式来唯一标示一棵二叉树 * * 方法一:一个前序+一个中序,可以还原一棵唯一的二叉树,故使用【前序输出的字符串+中序输出的字符串】 * 来唯一标示一棵二叉树。 * * 方法二:【将一颗二叉树逐层遍历,若节点不为空,则记为X,为空记为O,最终得到的序列可以唯一标示一颗二叉树。】 * * 建树过程采用递原创 2012-12-28 21:20:54 · 2630 阅读 · 0 评论 -
C++ 野指针(迷途指针)
C中的野指针,C++中的迷途指针(失控指针或悬浮指针)都不是NULL的指针,也不是指向常量的指针,而是指向“垃圾”内存的指针。“垃圾”的意思是未知区域、未知内存。 一、指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。 二、指针原创 2012-12-27 16:47:36 · 767 阅读 · 0 评论 -
C++ 设计一个不能被继承的类 《两种方法》
题目:用C++ 设计一个不能被继承的类。分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。在Java 中定义了关键字final ,被final 修饰的类不能被继承。但在C++ 中没有final 这个关键字,要实现这个要求还是需要花费一些精力。 《两种方法》首先想到的是在C++ 中,子类的构造转载 2012-12-27 16:43:48 · 492 阅读 · 0 评论 -
等概率随机洗牌算法
洗牌问题(shuffle)就如随机取样(random sample)问题,在《计算机程序设计艺术》(volume 2 chapter 3)中得到了详细的讲解,关于该问题的详细探讨可以翻阅该书相应章节。 洗牌问题,顾名思义,就是给你一把牌,让你把它完全打乱,这可以归结成一个数组问题: 给你一个长度为n的数组,要求你将其完全打乱,数组中元素交换跟下标是一一对应的,所以也就可以表述为原创 2012-11-16 22:19:03 · 1476 阅读 · 1 评论 -
C++ 虚函数
什么是虚函数?简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。为什么要引入虚函数?虚函数的作用是实现类的继承所体现的多态性,具体点是实现动态联编。从程序的角度上来说,在定义了虚函数后,可以在派生类中对虚函数重新定义,以实现统一的接口,不同定义过程,在程序的运行阶段动态地选择合适的成员函数。什么是多态性?简单点说,多态性是将接口与实现进行分离;C++实现运转载 2012-12-24 16:47:35 · 493 阅读 · 0 评论 -
C++中智能指针的设计和使用
智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造函数拷转载 2012-11-05 20:29:49 · 743 阅读 · 1 评论 -
如何成为一个C++高级程序员
来源: STICK INSECTC++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在C++的使用范围比以前已经少了很多,java、C#、python等语言在很多方面已经可以代替C++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业,比如游戏、高效的服务器。现在学习java、C#等转载 2013-04-22 12:12:49 · 751 阅读 · 0 评论