代码改变世界

STL学习笔记--算法

2015-08-14 01:19 by rangers, 279 阅读, 0 推荐, 收藏, 编辑
摘要:关于STL算法需要注意的是: (1) 所有STL算法被设计用来处理一个或多个迭代器区间。第一个区间通常以起点和终点表示,至于其他区间,多数情况下只需提供起点即可,其终点可自动以第一区间的元素数推导出来,故调用者必须确保区间的有效性。 (2) STL算法采用覆盖模式(overwrite),而非安插... 阅读全文

STL学习笔记--各种容器的运用时机

2015-08-09 23:14 by rangers, 277 阅读, 0 推荐, 收藏, 编辑
摘要:### 如何选择最佳的容器类别?* 缺省情况下应该使用vector。vector的内部结构简单,并允许随机存取,所以数据的存取十分方便灵活,数据的处理也够快。* 如果经常要在序列的头部和尾部安插和移除元素,应采用deque。此外vector通常采用一个内存区块来存放元素,而deque采用多个区块,所... 阅读全文

STL学习笔记--关联式容器

2015-08-09 20:40 by rangers, 272 阅读, 0 推荐, 收藏, 编辑
摘要:关联式容器依据特定的排序准则,自动为其元素排序。缺省情况下以`operator, class _Alloc = allocator > class set ...从set的原型声明可以看出,在实例化一个set的时候需要指定一个排序准则,如果没有传入特别的排序准则,就采用缺省准则 `less`--这是... 阅读全文

STL学习笔记--序列式容器

2015-08-09 16:39 by rangers, 349 阅读, 0 推荐, 收藏, 编辑
摘要:### 1、vectorvector是一个线性顺序结构。相当于数组,但其大小可以不预先指定,并且自动扩展。故可以将vector看作动态数组。 在创建一个vector后,它会自动在内存中分配一块连续的内存空间进行数组存储,初始的空间大小可以预先指定也可以由vector默认指定,这个大小即`capac... 阅读全文

STL学习笔记---STL简介

2015-08-09 00:10 by rangers, 375 阅读, 0 推荐, 收藏, 编辑
摘要:### 1.概述STL是通用类模版和算法的集合,它提供给程序员一些标准的数据结构和算法的实现。STL三大关键组成: * **容器(Containers)**,用来管理类对象的集合* **迭代器(Iterators)**,用来在一个对象群集的元素上进行遍历动作。迭代器的主要好处是,为所有容器提供... 阅读全文

使用Markdown写博客

2015-08-08 16:00 by rangers, 295 阅读, 0 推荐, 收藏, 编辑
摘要:### 初识Markdown> Markdown是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿这广泛使用。Markdown的设计目标是「易读易写」,语法十分简单,常用的标记符号不超过十个,对于HTML标记语言来说,Markdown可谓十分轻量的,学习成本也不需要太多,且... 阅读全文

C++静态库与动态库

2015-07-19 09:46 by rangers, 12654 阅读, 4 推荐, 收藏, 编辑
摘要:1、一个程序从源文件编译生成可执行文件的步骤:预编译 --> 编译 --> 汇编 --> 链接(1)预编译主要处理在源代码文件中以“#”开始的预编译指令,如宏展开、处理条件编译指令、处理#include指令等。(2)编译过程就是把预处理完的文件进行一系列词法分析、语法分析、语义分析以及优化后生成相应... 阅读全文

项目随笔1

2015-06-24 19:59 by rangers, 205 阅读, 0 推荐, 收藏, 编辑
摘要:最近在项目中遇到的一个问题,有些意思和启发,随手记下来。问题简要描述为:在地图上的随便一个点,要搜索它周围n米范围内相邻的点,例如有一个的点A(555,369), 找出在它120米范围内所有的点。容易想到的做法是用A与集合内所有的点进行距离运算,将距离小于120m的点记录下来即可。但在测试中发现这样... 阅读全文

CSV文件读取类

2015-04-19 23:38 by rangers, 609 阅读, 0 推荐, 收藏, 编辑
摘要:最近项目中,经常需要读取Csv文件。基本步骤是:(1)按行读取(2)然后将一行数据按逗号,分割为字符串数组(3)将各列字符串转换成相应类型的数据 ,如int double类型写了一个简单的Csv文件读取类,方便使用,可以按列名或列索引读取数据。将字符串转换成数字变量使用的是stringstream类... 阅读全文

一个参数处理类

2015-03-30 23:37 by rangers, 339 阅读, 0 推荐, 收藏, 编辑
摘要:在最近的项目中,使用的插件式架构, 插件的每个功能都需要用户输入的参数(所需的参数值配置在xml文件中),之前的做法是将每个功能需要的所有参数定义成结构体程序一开始,解析XML文件,将对应名称的参数值填充到相应的字段中。如果参数个数很多,则参数结构体的字段就会很多,写起来就会很麻烦,而且当某个模块新... 阅读全文