
C/C++
文章平均质量分 60
ggggqqqqihc
成就不高,玩心不小。
展开
-
C++模板与数组
问题:写一个函数,找出一个整数数组的最大值。通常的写法都需要传递两个参数,一个表示数组的起始地址,一个表示数组的大小。但是更直接地想法是,数组的大小应该是数组本身的一个属性,每次使用min函数都要告诉它大小,显然是一件烦琐的事。好在C++的模板机制给了我更好的实现方式。先看代码:template typename Type, int size>Type min(const Type (原创 2007-08-04 20:14:00 · 1416 阅读 · 1 评论 -
STL中unique函数的一点提示
unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除,不知道这个特性用起来就会出问题。比如下面这个例子,企图输出无重复的元素:#include iostream>#include vector>#include algorithm>#include iterator>using namespace std;int main()...{原创 2007-08-04 22:24:00 · 1174 阅读 · 1 评论 -
利用标准库排序的几种方法
这个题目有点儿无聊,跟茴香豆的“茴”字有几种写法一样无聊,又是一个无聊的老掉牙的话题——排序,问题依然是无聊至极——把输入的单词按顺序(我可没说是什么顺序)排列。当作是一个总结吧。按词典排好说,如果你用vector words存储单词,只需用algorithm里的sort即可:sort(words.begin(),words.end())。这玩意儿我闭着眼也能敲出来。但假如你用list的话……原创 2007-08-05 23:58:00 · 1159 阅读 · 1 评论 -
C++函数对象
标准库里的count_if可以统计容器中满足特定条件的元素的个数。例如要统计一个整数vector——ivec中正数的个数,可以先写一个返回类型为bool,含有一个int参数的条件函数:bool pred(int val)...{ return val>0;}之后可以用count_if(ivec.begin(),ivec.end(),pred)计算出正整数的个数。但这个方法有一原创 2007-08-05 14:46:00 · 8566 阅读 · 7 评论 -
用getopt解析命令行参数
用过gcc的都知道gcc有许多参数。例如要将hello.c译成hello.exe并加上调试信息,用gcc hello.c -g -o hello.exe即可。现在分析gcc的参数。对于这个例子,参数可分成三个部分:输入文件(hello.c)、是否包含调试信息(-g)、输出文件 (-o hello.exe)。这三个部分的次序是无关紧要的,例如可以确保,-o后面跟的一定表示输出文件。getopt是原创 2008-02-13 00:25:00 · 1340 阅读 · 1 评论 -
GCC拾遗——内部函数与__func__
今天瞎翻了一下GCC的手册,发现了这两个好玩儿的东西。一个是Nested function,就是gcc允许将一个函数定义在另一个函数的内部:double foo(double a, double b)...{ double square(double z)...{ return z*z; } printf("Function: %s ",__func__);原创 2007-12-13 14:23:00 · 1287 阅读 · 0 评论 -
CMap How-to
英文原文:http://www.codeproject.com/KB/architecture/cmap_howto.aspx?print=true简介一些像我一样的程序员,先学STL::map再学CMap,常常认为CMap很难用,而且总是使用STL::map的方式去使用CMap。在本文中,我会详细讲解CMap以及如何将你自己的类用于CMap。末尾,我将通过一个例子来演示如何正确地将CSt翻译 2008-01-11 16:05:00 · 1747 阅读 · 0 评论