C/C++
HaloFang
做事实干负责,在能力范围内按时高质量完成;为人善良,乐于助人,善于沟通;学习能力强,逻辑思路清晰。
展开
-
格式输出iomanip的几个函数
C语言的格式输出用scanf可以直接控制,C++中是通过一些库函数来实现。 setw()设定输出字段的最小宽度,setfill()设定默认填充的字符,默认是空格。 DEMO #include #include #include using namespace std; int main() { int const low(1); int const原创 2012-10-02 11:03:13 · 739 阅读 · 0 评论 -
class与struct的区别
在C++中,类定义既可以由关键字struct开始,也可以由关键字class开始。 两者唯一区别在于默认的访问级别:class默认为private,struct默认为public 一般程序员都习惯在类定义中使用class.原创 2012-10-07 16:17:59 · 523 阅读 · 0 评论 -
线性搜索算法find
最基本的线性搜索函数是find。它在读迭代器的区间内搜索一个值,返回指向该区间内的首次匹配到目标元素的迭代器,如果没有找到,则返回末端迭代器的副本。 运用find可以快速到一个数据序列中查找一个数据。 EXAMPLE #include #include #include #include #include //C++实现的快速排序,运用C++标准库中的快速排序函数,原创 2012-10-07 19:50:34 · 1051 阅读 · 0 评论 -
谓词实现sort的降排列数据
谓词听起来象英语中的谓语动词,但并不是这样,它是一个函数,返回bool结果的函数,这些函数在标准库中有很多用法。 都知道使用sort都是以升序排列值的,但如果要降序排列数据呢?函数sort充许提供一个谓词函数(called pred)用于比较项。 排序谓词函数必须满足以下条件: 1.pred(a,a)必须为false 2.如果pred(a,b)为true,且pred(,b,c)为true,原创 2012-10-06 19:25:15 · 1647 阅读 · 0 评论 -
isalnum的使用
isalnum的函数功能是指出一个字符在运行时字符集中是否为字母数字。也就是这个函数可以帮我们快速判断一个字符是不是字母或数字,而不是其它标点或字符。 使用isalnum需要包含头文件 isalnum第一个参数为需要判断的字符,第二参数为locale("") 运用这个函数,我们可以完成单词统计功能,在有标点的情况下也不怕 EXAMPLE #include #includ原创 2012-10-06 16:05:11 · 1971 阅读 · 0 评论 -
标准算法transform
transform的字面意思就是变换的意思。那这个算法有什么用呢? 当你想要对一个数据序列进行变换(转换大小写,交数组的值加倍等),对于一个序列中的元素的任意复杂的变换,最理想的选择是采用标准算法transform EXAMPLE #include #include #include #include #include #include int times原创 2012-10-06 18:19:35 · 753 阅读 · 0 评论 -
映射
映射仅是一个存储键值对的数据结构,以键作为索引。 一些语言和库称之为字典(dictionary)或者(association)。映射包括两个部分,一部分存储键,一部分是键出现的次数的值。这正好用来完成单词出现次数的统计程序实现。 std::map counts; 它是通过键值来访问的,如counts["the"]返回the的值 EXAMPLE #includ原创 2012-10-05 23:24:15 · 521 阅读 · 0 评论 -
简单的文件I/O处理
简单的文件读写操作: 需要用ifstrem创建一个读对象来完成读,用ofstream来创建一个写对象.在这里,ifstream创建的对象作用类似于std::cin,ofstrea创建的对象等同于std::cout. EXAMPLE #include #include #include #include #include //简单I/O处理 int ma原创 2012-10-05 11:11:33 · 1220 阅读 · 0 评论 -
类型同义词typedef
typedef是C++从C中继承的基本语法和语义。它有以下作用: 1.为一个长类型名创建一个短同义词。 2.创建一个助记同义词。 如: typedef std::map::iterator count_iter; typedef int height 作这样的声明后,height就等同于int 可以直接用height inter;来定义一个整型的变量。原创 2012-10-05 23:42:05 · 494 阅读 · 0 评论 -
使用boolalpha操作子
当我们想输入一个BOOL类型的变量以“TRUE”的形式输入,而不是“1”,就需要使用boolalpha操作子 EXAMPLE #include #include #include #include int main() { std::cout std::cout std::cout bool test; std::cout std::cin原创 2012-10-03 14:14:55 · 763 阅读 · 0 评论 -
numeric_limits的运用
numeric_limits属于C++标准库,用以查询内置算术类型的属性。你可以确定一个类型需要多少位,十进制数字,它有最大值,最小值等。 Example // numeric_limits example #include #include using namespace std; int main () { cout << boolalpha;原创 2012-10-01 10:11:23 · 595 阅读 · 0 评论 -
assert的运用
在遇到assert时不知道是什么,也不知道有什么用,百度百科这样介绍: 编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新起用断言原创 2012-10-02 17:36:47 · 477 阅读 · 0 评论 -
泛型算法和迭代器适配器对整数排序
要实习一个排序算法还是很容易的,但是如果用C++的标准库函数的话,这会变得更加容易。 用到以下标准库中的函数: sort(); reverse(); iterator迭代器 istream_iterator读迭代器 ostream_iterator输出迭代器 EXAMPLE #include #include #include #include #inc原创 2012-10-03 13:56:11 · 539 阅读 · 0 评论 -
static_cast和dynamic_cast的使用
在项目中经常遇到 static_cast和dynamic_cast原创 2014-05-24 22:19:10 · 632 阅读 · 0 评论