自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (17)
  • 问答 (2)
  • 收藏
  • 关注

原创 不出错不是错

最近看见论坛里,很多人问一些看似很诡异、实际上道理却是很简单的问题。对这类问题的回答可笼统概括为:编译器,有义务为在游戏规则内的代码做正确的翻译。但是,对于不按套路出牌的代码,它 有最终解释权。我们应当做的事情是,好好学习C++标准(当然,遇到VC6这样的流氓编译器,我们也只能干认倒霉。),知道写什么样的代码能够完成什么样的行为。不应当过于纠结于为什么有些代码应该出错而

2013-09-17 20:52:05 1404 2

原创 中英混串转拼音 源码

/* 本程序只对GB2312编码有效 *//* 汉字读音分界点处的码值数组 */static const unsigned short code_pin[] = { 0xb0a1,0xb0a3,0xb0b0,0xb0b9,0xb0bc,0xb0c5,0xb0d7,0xb0df,0xb0ee,0xb0fa,0xb1ad,0xb1bc,0xb1c0,0xb1c6, 0xb1de

2012-06-15 08:58:12 2990

原创 二叉树中任意两个节点间的距离 源码

#include #include template struct BNode { BNode(T d) { data = d; left = NULL; right = NULL; } void visit() { std::cout << data << std::endl; }

2012-06-10 15:33:06 1549

原创 二叉树的三种遍历算法 源码

VisitBiTree.javapackage biTree;import java.util.Stack;//二叉树的遍历类public class VisitBiTree { /* 访问时机:遇到不为空的则访问它,右孩子入栈,转而去左孩子 */ // 非递归先序遍历 public void preOrder(BNode node) {

2012-06-10 15:04:28 4477

原创 LCS C语言源码

#include #include #include char* lcs(const char *str1, const char *str2) { int m = strlen(str1) + 1; int n = strlen(str2) + 1; int capacity = m * n * sizeof(int); int *record = (in

2012-06-09 12:05:02 1963

原创 最大子段和绝对值

#include typedef struct { size_t st; size_t end; int sum;} ArraySection;/* 求整型数组的子段,使其和的绝对值最大,结果存于ret */void max_abs_section(int *arr, size_t len, ArraySection *ret_sec){ size

2011-12-08 13:17:27 928

原创 最大子段和 C语言源码

#include typedef struct {    size_t st;    size_t end;    int sum;} ArraySection;/* 求整型数组的最大子段和,结果存于ret */void max_section(int *arr, size_t len, ArraySection *ret) {    size_t st = 0, end

2011-12-07 11:48:16 2738

原创 如何让C++ 和 STL 为C服务

实验环境:win XP , VS2008实验中用C++语言使用STL类编写了一个字符串排序的接口,将其导出为DLL,目的是演示C++如何编写能让C调用的函数。首先,新建一个C++空项目名称为DLL_CPP_API,将项目的输出文件类型设置为dll,添加下面两个文件/* DLL_API.h */#define DLL_EXPORT// 导出时需定义此宏#ifdef DLL_E

2011-11-30 22:20:17 2416

原创 自然对数底——e 之美

收敛速度惊人#include /* 自然对数的底e = 2.718281828... */double GenerateBaseE(const size_t N) {    double ret = 1.0;    unsigned long long k = 1;    for (size_t i = 1; i <= N; ++i) {        k *= i;

2011-11-27 15:56:22 2026

原创 语法和语义上的 “不能!”

在学习程序设计语言的时候,教程里往往会出现“能”这样和“不能”那样的句型,来告诉我们在编程的时候哪些是可以做,而那些是不可以做的。本文要说明的是,在程序设计语言里“能”和“不能”分为语法上的和语义上的。当我们将语义上的不能理解成语法上的不能的时候,就会产生一些疑问。下面是几个例子,有的合适,有的可能牵强,但是意思差不多。函数内返回临时变量的引用和指向临时变量的指针使用C++标准流输

2011-11-27 14:41:39 1039

原创 C语言版 topK 算法实现

/* topK算法实现 */#include /* 调整小顶堆,pos:唯一违反堆性质的点的位置 */void heapify(int *arr, const size_t len, size_t pos){ int min; size_t child = (pos * 2) + 1;// 左孩子 while (1) { if (chil

2011-11-07 15:43:59 1876 1

原创 话说复制构造与赋值函数

此文要谈的两个概念,算是C++中的big three(构造、赋值和析构)中的1.5个。也是在使用过程中,很容易混淆的两个函数。它们的相似点:        1、当编写一个类的时候,我们没有显式编写它们,编译器都会自动生成一个具有浅拷贝语义(对逐个成员进行位拷贝)的版本。        2、它们被调用的语句,都极少以函数声明的原型形式进行,而是一些用法会触发编译器对他们的调用。也就是说它

2011-11-02 10:41:25 870

原创 C++ 史上最华而不实的类

下面大家要看到这个类完全是扯淡,一无是处。它是由感而发于帖子C++的二维数组转置。当时,看完帖子我就在想,能不能用重载的方式实现逻辑转置?只是好奇。C++显然是不能重载两个 [][] ,但是要达到这个效果,只要让 [] 操作符返回一个指针即可。问题是这样根本做不到一个逻辑上的转置,经与码友讨论生出用两个类重载[]操作符这么一条计策。于是,便产生了它。它“华”到一个模板类中还定义有一个嵌

2011-10-27 09:00:39 1727 1

原创 不用判断语句求出两数较大值

原题:两个整型数,不准用if 、switch 、?:等判断语句求出两者较大者(更有甚者只让用一条语句)最近的笔试题中,此题出现频率不小,论坛上也时有人问起,此文给出C语言版的一种解决方案(得较小者同理)。为说明问题方便,不使用一条语句,理解思路后稍作改动便可以换成一条语句。代码如下:/* 不准使用任何判断语句和库函数,获取两个整型数据中的较大值 */#include /*

2011-10-25 15:26:43 3789 4

原创 致爱捣鼓虚表的童鞋

下面这个例子,读起来可能有些晦涩,但是读懂了对于理解C++的函数调用约定、函数指针、动态绑定、虚函数表 和 多态机制有极大的帮助。32位机下的VS2008和VS2010环境下可直接复制代码运行,其他版本编译器未测试。不采用默认的函数调用约定__thiscall的原因是,这种约定会把this指针的值直接放到寄存器ECX中,而不是将其入参数栈。当采用常规的成员函数调用方式的时候,ECX会被填入

2011-10-21 16:59:37 2945

原创 用 cin 输入整数死循环问题

本文,主要解决用标准库输入流std::cin输入整数的时候,如果误输入了字符产生的死循环问题。这也许是C++灵活的背后,给程序员所带来的一些问题,这个问题标准库的建设者们确实应该考虑升级一下。最近,见论坛里又常有人问起,方法比较简单,代码如下:#include#include // 带容错功能的控制台整数输入函数int input_int(){ int

2011-10-17 20:00:50 4273 2

转载 航天飞机的宽度是由马屁股决定的

现代铁路两条铁轨之间的标准距离是4.85英尺,大约1.435米,可相当多的人并不知道,为什么要采用这个标准?原来,早期的铁路是由造电车的人设计的,而四英尺又八点五英寸正是电车所用标准。那么,电车的标准又是从哪里来的呢?最先造电车的人以前是造马车的,所以电车的标准沿用了马车

2011-08-02 10:48:03 1184

原创 学了C++,遗忘了C

很多C++程序员,应该说是绝大多数,都学过C语言。也都知道,C++是完全兼容C的。在C++和C都作为面向过程开发语言时,这个“兼容”是有两层含义的:第一,C中的代码复制到cpp文件里,理论上应当可以通过(实际上这一点不能完全做到)。第二,C++代码,代码在C文件里是不一定允许编译的。第二点是会慢慢被C++程序员所遗忘的,至少我是应当感到惭愧的其中之一。下面一一列举一些,面向过程中易

2010-09-27 14:39:00 3534 6

原创 C# ++运算符的重载

很多语言都允许程序员使用运算符重载,尽管从编程的角度看,这没有其必要性,但是对于代码来讲可以提高它的可读性,带来许多方便之处。最简单的例子就是,我们用String类的时候,用“+”运算符直接实现字符串的连接,很方便很直观。虽然,Java不允许重载运算符,但是在它在类库级别上也重载了String类的“+”运算符。C#和C++一样,提供了运算符重载机制。但是,它的要求要严格一些,这里提一下C#中自增运算符“++”的重载使用。在C++中,要体现前置++运算,总是要给其添加一个int类型的参数,尽管我们用不上它。在

2010-09-13 09:08:00 4652 1

原创 C# 函数中的out型参数

首先,在函数的参数参数列表中,out关键字一定要放在类型前面。否则,会产生几个编译时错误。第二,在函数的声明时和调用中,都要加out关键字。Eg:namespacePolymorphy{    internalclassProgram    {        staticvoidMain(string[] args)        {            inta;            ATypeinstance;            instance.Display(/*out*/ a);     

2010-09-12 14:56:00 9799 2

QQ 自动消息机器

C++编写的QQ 自动发消息 程序,适用于windows下的所有Q版本,内附所有源代码。

2012-06-07

QQ自动消息机

C++编写的QQ 自动发消息 程序,适用于windows下的所有Q版本。内附所有程序源码。

2012-06-07

记事本 助记提醒

VS2008下写的 托盘程序 可以定时提醒您 弹出 并想起提醒音乐,内附所有源码。

2012-06-07

纯C++ 文件流 处理函数

用C++ STL 实现的文件处理函数大全,包括一些常用的但标准库中没有字符串处理。内部含有的正则部分,是采用的boost库,不需要的完全可以去掉,不影响其他函数的使用。

2011-10-20

C++ 内存池 轻量级实现

内含 纯c++ 编写的一个轻量级的内存池的实现,并有调用实例。

2011-10-20

Google C++ 编程规范

Google C++ 编程规范 Google C++ 编程规范 Google C++ 编程规范

2011-09-07

C++ STL string类 字符串处理函数 第二版

在第一版的基础上做了改进,规范了编码和命名以及注释。添加了一些函数

2011-08-11

中英文混合字符串到拼音的转换程序 C++源码

方便实现中英文字符串到汉语拼音的转换,纯C++实现

2011-07-04

VC 多语言界面 本地化 国际化 源码

VC窗体桌面应用程序的界面语言国际化问题的一个成功解决方案源码

2011-06-26

IIS version 6

好用好用很好用好用好用很好用好用好用很好用好用好用很好用好用好用很好用

2011-06-24

ASP.NET 网上家电系统源码

网上家电系统源码,内含所有源码,经典的三层逻辑开发

2011-03-29

C# 之一个简单的 Webservice 实例源码

一个简单的 Webservice 实例源码 可参考它学习webservice 的编写与调用

2011-03-29

纯C++ 字符串处理函数大全源码

自己封装的纯C++的字符串处理函数大全,像特别好用的 字符串切分 Split函数代码均已经过测试,并有接口说明,可方便调用。

2011-03-29

人人、校内开放平台API源码

人人 校内 开放平台 API 源码,利用它们,您可以轻松编写自己想要的功能

2011-01-20

C++ 仿函数技术 源码

C++ 仿函数技术 源码 一看便知道仿函数的本质

2010-11-01

助记 托盘程序 记事本 定时提醒

VC写的 托盘程序 可以定时提醒您 弹出 并想起提醒音乐

2010-10-30

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

TA关注的人

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