摘要:
序列化可以把对象转化成一个字节流存储或者传输,在需要时再回复成与原始状态一致的等价对象。C++标准没有定义这个功能。boost.serialization以库的形式提供了这个功能,非常强大,可以序列化C++中各种类型,而且简单易用。 boost.serialization库必须编译后才能使用。有关... 阅读全文
随笔档案-2015年08月
boost--smart_ptr库
2015-08-27 23:03 by rangers, 425 阅读, 收藏,
摘要:
C++没有类似Java、C#等语言的垃圾回收机制,内存管理是最为头痛的工作。 new、delete以及指针的不恰当运用是C++中造成资源获取/释放问题的根源。 智能指针是解决这些问题的一种方案,boost.smart_ptr库提供了六种智能指针,包括: `scoped_ptr`、 `scope... 阅读全文
boost库的使用
2015-08-26 23:49 by rangers, 1794 阅读, 收藏,
摘要:
### 使用boost静态库boost静态库的使用方式很简单,在vs工程中设置好boost库头文件的目录以及库文件所在的目录。 使用时引入对应的头文件即可,boost的auto-link机制将会自动帮我们包含对应的静态lib。 一个比较有用的宏: #define BOOST_LIB_DIAGN... 阅读全文
windows下编译和安装boost库
2015-08-26 08:15 by rangers, 16234 阅读, 收藏,
摘要:
> boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库。 ### 获取方式 boost提供源码形式的安装包,可以从[boost官方网站](http://http://www.boost.org)下载,目前最新版本是1.59.0。 stack 栈 后进先出(LIFO), 头文件`#include` template > class stack { // LIFO queue implemented with a container ...可以看出,stack内部缺省使用deque实现。可以使... 阅读全文
STL学习笔记--算法
2015-08-14 01:19 by rangers, 286 阅读, 收藏,
摘要:
关于STL算法需要注意的是: (1) 所有STL算法被设计用来处理一个或多个迭代器区间。第一个区间通常以起点和终点表示,至于其他区间,多数情况下只需提供起点即可,其终点可自动以第一区间的元素数推导出来,故调用者必须确保区间的有效性。 (2) STL算法采用覆盖模式(overwrite),而非安插... 阅读全文
STL学习笔记--各种容器的运用时机
2015-08-09 23:14 by rangers, 284 阅读, 收藏,
摘要:
### 如何选择最佳的容器类别?* 缺省情况下应该使用vector。vector的内部结构简单,并允许随机存取,所以数据的存取十分方便灵活,数据的处理也够快。* 如果经常要在序列的头部和尾部安插和移除元素,应采用deque。此外vector通常采用一个内存区块来存放元素,而deque采用多个区块,所... 阅读全文
STL学习笔记--关联式容器
2015-08-09 20:40 by rangers, 283 阅读, 收藏,
摘要:
关联式容器依据特定的排序准则,自动为其元素排序。缺省情况下以`operator, class _Alloc = allocator > class set ...从set的原型声明可以看出,在实例化一个set的时候需要指定一个排序准则,如果没有传入特别的排序准则,就采用缺省准则 `less`--这是... 阅读全文
STL学习笔记--序列式容器
2015-08-09 16:39 by rangers, 363 阅读, 收藏,
摘要:
### 1、vectorvector是一个线性顺序结构。相当于数组,但其大小可以不预先指定,并且自动扩展。故可以将vector看作动态数组。 在创建一个vector后,它会自动在内存中分配一块连续的内存空间进行数组存储,初始的空间大小可以预先指定也可以由vector默认指定,这个大小即`capac... 阅读全文
STL学习笔记---STL简介
2015-08-09 00:10 by rangers, 406 阅读, 收藏,
摘要:
### 1.概述STL是通用类模版和算法的集合,它提供给程序员一些标准的数据结构和算法的实现。STL三大关键组成: * **容器(Containers)**,用来管理类对象的集合* **迭代器(Iterators)**,用来在一个对象群集的元素上进行遍历动作。迭代器的主要好处是,为所有容器提供... 阅读全文
使用Markdown写博客
2015-08-08 16:00 by rangers, 316 阅读, 收藏,
摘要:
### 初识Markdown> Markdown是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿这广泛使用。Markdown的设计目标是「易读易写」,语法十分简单,常用的标记符号不超过十个,对于HTML标记语言来说,Markdown可谓十分轻量的,学习成本也不需要太多,且... 阅读全文
浙公网安备 33010602011771号