自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 CPP(十)特殊的解释方式:和C的不同

这段代码作为C代码一般会报编译错误:#includeint main(){ int a = 1; int b = 2; (1 ? a : b) = 5201314; printf("%d %d", a, b); return 0;}但是同样的

2014-06-28 23:42:17 540

原创 神奇的C语言二十二:善用格式串format进行字符串处理

每个C程序员对格式化输出都十分熟悉。C的格式串的格式多样,

2014-06-12 19:50:45 1292

原创 神奇的C语言二十一:谈谈位运算

写C程序时位运算还是很常用的,您肯定也了解为运算的规则

2014-06-12 19:03:41 626

原创 神奇的C语言二十:谈谈类型转换

先看一个例子。请猜测下面的代码的输出是什么?#include int main(){ char a = 255; char b = 1; printf("%d %d\n", (unsigned char)(a + b), (unsigned char)a + (unsigned char)b); return 0;}如果你的答案是255

2014-06-12 18:24:16 729

原创 CPP(九):vector与迭代器的实现

vector的实现并不难,不过vector在实现

2014-06-12 17:54:38 1440

原创 CPP(八):bitset的实现与位操作

源码如下。只是实现了常规成员函数,没有写操作符重载的部分。#include using namespace std;template class bitset{private: unsigned char *data; int cnt_bytes; int cnt_bits; static unsigned char mask[8]; // 将位偏移转化为字节偏移 in

2014-06-11 23:38:23 1090

原创 CPP(七):priority_queue的实现与大根堆的使用

实现的一个按int类型值大小从小打到

2014-06-11 13:26:52 2274

原创 C++ STL

// Test.cpp : 定义控制台应用程序的入口点。//#include #include #include using namespace std;// double-ended queue#include void dqf(void){ deque dq; for (int i = 0; i < 10; ++i){ dq.push_front(i + 4);

2014-06-09 22:58:10 429

转载 一、Dancing Links:完全覆盖算法

1 问题描述考虑一张棋盘,被分成6×6(6行6列)的36个正方形。设有形状一样的多米诺牌,每张牌恰好覆盖棋盘上相邻的两个方格。若把18张多米诺牌摆放在棋盘上,任何两张多米诺牌均不重叠,每张多米诺牌覆盖两个方格,并且棋盘上的所有的方格均被覆盖住,这样一种排列称为多米诺牌的完美覆盖。请问:6×6的棋盘有多少种不同的完美覆盖?2 功能要求1) 良好的用户界面。要求能够显示所有的完美覆

2014-06-08 21:34:17 1064

原创 CPP(六)异常处理:绝望的沉重感

如果您擅长使用C,会 C++的异常处理

2014-06-04 15:40:06 1567

原创 CPP(五)理解操作符重载:应用

这一篇文章使用操作符重载实现 auto_ptr 类。如果您没有使用过此类,

2014-06-04 14:50:41 621

原创 CPP(四)理解操作符重载:进阶

操作符重载函数的格式是怎么的呢?

2014-06-04 12:31:51 715

原创 CPP(三)理解操作符重载:初步

在C++中我们将操作符也看做函数。例如,重载操作符 + 时

2014-06-04 11:07:06 801

原创 CPP(二)再接再厉:STL容器类的使用

STL容器类的目的是提高工作效率,省去了我们自己建立

2014-06-04 10:31:13 690

原创 神奇的C语言十九:C语言的内存分配

这里 malloc不检查参数有效性,直接从堆中分配参数指定字节数的内存和一个用于记录此次分配的结构体。如果参数为0,分配仍然会发生。此时分配的内存不能进行操作,写入操作可能会覆盖其他变量,甚至是内存分配信息,造成程序的不稳定。free首先检查参数是不是NULL,如果是,返回;否则,认为参数指向的内存还没有被回收。根据参数找到记录该内存信息的结构体信息,并修改之(

2014-06-03 23:46:14 622

原创 神奇的C语言十八:volatile的应用

volatile是一个不常用的关键字,但是我们最好了解这个关键字的来龙去脉,以防止自己出错。volatile用于修饰一个变量,以告诉编译器:每次存取此变量时,都要按其地址来操作,而不要进行优化。volatile正是为了防止对某个变量的存取优化;如果没有优化,volatile关键字是没有作用的。下面是三个编译器优化的例子,解释了为什么需要volatile关键字。例子1多线程程

2014-06-03 23:38:06 649

原创 神奇的C语言十七:typeof关键字

这是C语言的一个新特性,目前使用还不是很广泛。大部分应用都是在宏中。如果您看过前面提及的sizeof关键字,就容易理解typeof了。typeof关键字用于获取括号内的表达式的类型。这个类型是一个编译器的内部表示。表达式不会生成代码。这和sizeof很类似。例子:typeof(int) a; // int atypeof(a) b; // int btypeof(++b) c;

2014-06-03 23:35:55 1148

空空如也

空空如也

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

TA关注的人

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