自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

绝知此事要躬行

喜欢遇到新的算法题,然后攻克的感觉很棒

  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 那些你不知道的默认构造函数~~

首先,本篇文章只讲 “默认构造函数”,即如你所知,默认构造函数是不带参数的构造函数。编译器会在 适当的时候 为class合成一个默认构造函数 ~~先问以下两个问题:编译器会为任何没有声明构造函数的class,合成默认构造函数?? 错!!!合成的默认构造函数会显示设定class内的每一个data member的默认值?? 错!!!class Base{public:

2014-05-13 21:25:26 1403

原创 标准库 之 nth_element

STL库中实现了nth_element函数,实现的功能是 “返回n个元素中的第k小的元素”。首先,头脑风暴一下“返回n个元素中的第k小的元素”的算法:1    排序 ,首选快排  O(n*logn),取出第k个即可。2其次,是维护一个大小为k的数组,找出数组中的最大值kmax,然后依次遍历剩下的 n-k 个元素,如果小雨kmax,则替换掉kmax元素,然后再

2014-05-10 17:07:41 5730

原创 friend 关键字 对于模板 并不仅仅只是友元!!!

friend是C++中封装的漏网之鱼!!!!但是对于有些情形,没它不行!!!

2014-05-06 08:53:34 1867

原创 C++标准库之 Lower_Bound, upper_Bound

upper_bound lower_bound

2014-05-03 12:23:24 4935

原创 C++ 模板的编译 以及 类模板内部的实例化

在C++中,编译器在看到模板的定义的时候,并不立即产生代码,只有在看到用到模板时,比如调用了模板函数 或者 定义了类模板的对象的时候,编译器才产生特定类型的代码。一般而言,在调用函数的时候,只需要知道函数的声明即可;在定义类的对象时,只需要知道类的定义,不需要成员函数的定义。但是,这对于模板编译是不奏效的,模板要进行实例化,则必须能够访问定义模板的源代码,当调用函数

2014-05-02 12:22:52 5028

原创 正则表达式之基础篇

今天看了鸟哥的linux私房菜,关于正则表达式:简单做笔记如下:[:upper:] 大写字母 A-Z[:lower:] 小写字母 a-z[:digit:]  数字 0-9[:alpha:] 字母   A-Z a-z[:alnum:] 字母和数字 A-Z a-z 0-9首先介绍几个字符:^ 表示行首  (^在方括号[ ]内表示不包含,在[ ]外表示行首!!!)

2014-05-30 21:32:04 1069

原创 有道的一道面试题 突然觉得跟word ladder有些关系

题目描述:

2014-05-26 13:45:45 1326

原创 jump game

之所以说leetcode的测试用例有问题,是因为我刚开始理解错了题意,写下了如下的错误的代码。但是却AC了。错误代码为: bool canJump(int A[], int n) { if(n == 0) return true; int sum = 0; //记录当前的最远距离 int i = 0;

2014-05-22 21:26:09 983

原创 备忘之类中的static成员的访问方式

类中的static成员在类定义完毕之后就存在在静态数据区,即使没有定义任何该类的对象。#include using namespace std;typedef int LENGTH;class Test{ typedef float LENGTH;public: void set(LENGTH x){_val = x;} LEN

2014-05-19 20:02:29 1101

原创 C++类定义体中的typedef

在类中使用typedef, 最好将其放在类定义的头部。如下例:#include using namespace std;typedef int LENGTH;class Test{public: //此处的x,以及get的返回值,均被绑定到全局的typedef void set(LENGTH x){_val = x;} L

2014-05-19 19:44:33 2484

原创 这是绝对精彩的static成员变量

在类的定义中,成员主要分为两类:静态成员以及非静态

2014-05-18 18:01:19 1164

原创 C++对象中数据成员的布局

首先,对于类中定义的变量,各个编译器内部并没有强制

2014-05-18 17:10:41 1535

原创 备忘之 拷贝构造函数

//拷贝构造函数,什么时候算是 “合适的时候”,才会合成呢~~~#include using namespace std;class A{public:    A(char *_str):str(_str),x(0){}    //A(const A&a){cout     //如果没有定义的话,对于类A来说,编译器依然不会合成,因为此时的对象之间的

2014-05-13 21:59:56 864

原创 数据结构 --- 单链表

在面对链表的题目时,大部分人(包括我自己)都是很怵的,因为这必将面临指针。笔者今天实现了一些关于链表操作的题目。自行实现了一下,过程很是艰辛。首先,定义单链表中的节点:struct ListNode{ int val; ListNode *next; ListNode(int x):val(x),next(NULL){}};//求链表长度

2014-05-11 12:23:29 1162

原创 BUG 记录: sizeof

首先贴出一段代码:#include using namespace std;int main(){ int a= 2, b = 3; cout << a << endl; cout << sizeof(a+=b) << endl; cout << a << " " << b << endl; return 0;}

2014-05-07 22:04:29 1087

原创 C++ 标准库之typeid

本文只讲述typeid这个操作符,呃  ,它确实是一个操作符,类似于 sizeof 操作符。在将该操作符之前,不得不提的是RTTI(Run-Time Type Identification,运行时类型识别),其实就是说在运行期得到对象的实际的类型。这立刻使我们想到了“可以通过基类的指针和引用可以指向实际的派生类型”。啊哦,答对了,这就是typeid这个强大操作符所做的事

2014-05-04 22:22:07 25434 9

原创 C++之 模板化基类 的名称处理

在引入模板之后,我们面临一个新的问题,那就是如果继承自一个模板基类,是否跟继承一般的类有什么区别呢?就是说,如果一个类继承自某个模板类,那么该类应该注意一些什么呢?其实,它与一般类的继承是很不一样的。先举个简单的例子:templateclass Base{ public: void printBase() {cout << "call Base

2014-05-03 10:59:41 3071 2

原创 了解 C++ 之 typename

typename与class都可以用作模板形参定义的关键字,两者无异~~可是,typename的用途并非仅限于此,如下面的代码:templatevoid print(const C & container){ C::const_iterator iter(container.begin()); cout << *iter << endl; int v

2014-05-02 20:04:30 3190 1

原创 permutation 系列

关于permutation的讲解,请参见http://blog.csdn.net/xuqingict/article/details/24840183下列题目的讲解均是基于上面的文章:题1: Next Permutation Total Accepted: 8066 Total Submissions: 32493My Submissions

2014-05-02 13:55:59 2224

原创 private 继承 真的没用吗??

private继承,在看到effective C++之前,我发现在我之前的代码里面,没有用到这个机制,但是认真回想起还是有一些影子。大多数人认为private继承是没有用的,其实不然,在某些情况下,它也会带给你一些惊喜。好,言归正传,之前已经数次提到过 public继承表示的是  “is   a ”的关系,也就是说每一个derived对象D同时也是base对象,任何在base对

2014-05-01 20:07:42 1973

原创 C++ 标准库 permutation

首先,permutation指的是对元素的重排,比如a , b , c 三个元素的所有的重排为    abc, acb, bac,bca,cab,cba 总共 3!  = 6 中情况,但是如何声称这六种情况呢,C++标准库定义了函数 next_permutation,来生成一组元素的所有的全排列。首先,了解该函数的声明以及实现:函数声明为: [摘自 www.cplusplus.com]

2014-05-01 14:56:43 5003 1

原创 梅式砝码问题

无意间看到这样的一个题目,

2014-05-01 11:48:18 2257

c语言进阶 中断与驱动讲解

C语言进阶方面的,第六讲中断和驱动的讲解

2010-10-19

空空如也

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

TA关注的人

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