编程语言

引用和右值引用

C++ 是一门复杂的语言,复杂到何种程度,me 不知道;相比而言,C语言则简单 (simple) 得多。C++11 让 C++ 又更复杂了一些。先看交换程序 swap 的各种版本,有些是只能在 C 中使用的,有些是提倡在 C++ 中使用的,不过都可以使用在 C++ 中(虽然可能得不到想要的结果)。

Tags: 

C语言实现字符串转化为整数

将字符串转化为整数( maybe 浮点数?)是一个灰常基本的需求,基本到只要是涉及到数字的实际应用,都会有用到。然而这么一个转换程序并没有想象的那么简单,不过不用担心,几乎所有的语言库都有提供转化,比如 C 语言中就有个 atoi 函数。现在的问题是,如果让 me 们写一个,会是神马样纸?

Tags: 

c++小型计算器

下午用了两三个小时调试了一下 Bjarne Stroustrup 的一本书上的一个计算器程序。他最初的程序有些小 bug (可能是他故意设置的),me修复了一下,然后又对使用上的小细节修改了一下,最后的程序赶脚还良好。介个小程序可以计算加、减、乘、除;可以加括号计算;可以设置常量进行计算;一行可以计算多个等。

2014-02-24 修改版:文章是将近一年前写的, 今天想起来完善完善。 用了一下午时间, 主要是重新理解了一遍程序, 修复了一个小 bug ,添加了一个阶乘的用法(为了方便,使用的是 !n 的形式,而非 n! ,也就是 !4 = 24)。本程序中还有一些不是很自然的使用方法,比如 1 + 2 + 3 - - 4 的结果是 10 (不过这种不自然, me 赶脚具有某种灵活性,故不修复), 再比如 1 2 3 4 解析成了四个表达式,而非一个。顺便说下 1!4 解析成了 1 !4 两个表达式,结果是 1 和 24 。

先看运行效果图,体验一下这个小计算器:

Tags: 

win32窗口程序

使用 vc 写窗口(GUI)程序很常见,相对于黑白屏幕的控制台程序来说,显得高端些(实际如何,这不是me们关心的)。使用原生的 win32 api可以写,使用 MFC 亦可以写,如果对 MFC 感兴趣的,可以看下手工编写MFC程序,本篇是使用 win32 写的窗口程序模版。上代码:

Tags: 

手工编写MFC程序

通常 MFC 程序都是自动生成的,让 me 们省去了很多细枝末节,将注意力放到功能扩充上。但是写“纯净”的 MFC 程序也有好处,可以加深 me 们对自动生成程序的理解。下面是一个手工编写的 MFC 程序。新建 --> 项目 --> Visual C++ --> 通用,创建一个空白的程序,然后添加一个源文件,比如 source.cpp ,将下面的 code 拷进去,然后在属性中修改两个地方,程序就算 ok 勒。

Tags: 

c和c++的兼容性问题

c 和 c++,很多时候,me 们在混用,有时候已经搞不清楚神马和神马了,总之,后缀就是 .cpp,能编译通过就 ok。以前有人说,懂 c++ 的对 c 比较了解,实际上情况可能相反,懂 c 的更了解 c++。通常的 c 程序,可以使用 c++ 编译器编译,没有太大问题,但是有时候却不是;同样合法的结构,编译的结果基本上是一样的,但是也有些许例外。本篇文章就是罗列一些 c 和 c++ 的不同的地方,或是应该注意的地方;不了解的话,一般不影响写程序,但是如果出现些这方面的问题,就很难发现勒。(这里的 c++ 说的是 c++98,c 说的是 c89。)

内容基本选自:bjarne stroustrup 写的《c++程序设计原理以及实践》这本书的最后一章。

Tags: 

c语言的类型以及指针

C 语言已经有40多年的历史了,现在依然应用广泛,而且成为了很多主流语言的基础。但是 C 语言又和其他语言有所不同,它有自己的特点:简单、优美、强大,但是有时候显得很繁琐丫,有木有!C 语言的类型在一定情况下会转换,这个有时候让人想不到;还有就是 C 的类型和类型声明有时候会很诡异,加上指针的话更是让人防不胜防,O__O"…。本篇 blog 记录这些方面的细节,不是很全,就是目前 me 已知的一些,方便以后查看。

Tags: 

使用c语言写面向对象代码

虽然我们说 c 语言是面向过程编程语言,但是使用 c 一样可以采用面向对象的设计思路,书写面向对象的代码。面向对象的核心有封装、继承、多态。我们使用 struct 来封装数据,将 struct 包含在另外一个 struct 中来实现继承,在基类中放入函数指针来实现多态。

Tags: 

c语言qsort函数的使用

排序是比较常用的算法,在很多地方都要用到,几乎所有的语言的库都有提供,当然 c 也不例外。c 语言的头文件 <stdlib.h> 中就有个快速排序 qsort 函数。me 们暂时不关心这个函数的实现细节,me 们关心的是,如何使用这个函数来排序各种数据。

对于数据的组织,可能使用的是数组(顺序表/向量),也可能是链表,我们先看看数组形式的数据如何处理。

qsort 函数原型:

Tags: 

vc++ 和 vc#

VC++ 和 VC# 在简单小程序的显示出的差异。

Tags: 

Pages