码迷,mamicode.com
首页 >  
搜索关键字:标准库    ( 3994个结果
STL之iterator(迭代器)
3.迭代器简介 除了使用下标来访问vector对象的元素外,标准库还提供了访问元素的方法:使用迭代器。迭代器是一种检查容器内元素并且遍历元素的数据类型。 百科释义: 迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做...
分类:其他好文   时间:2014-10-04 23:11:57    阅读次数:189
标准库Queue的实现
跟上篇实现stack的思路一致,我增加了一些成员函数模板,支持不同类型的Queue之间的复制和赋值。 同时提供一个异常类。 代码如下: #ifndef QUEUE_HPP #define QUEUE_HPP #include "Exception.h" #include class EmptyQue...
分类:其他好文   时间:2014-10-04 22:27:07    阅读次数:228
STL之Vector(不定长数组)
vector是同一种对象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库将负责管理与存储元素相关的类存。引入头文件 #include 1.vector对象的定义和初始化 vector v1 vector保存类型为T的对象。默认构造函数,v1为空 vector v2(v1) v2是v1的一个副本 vector v3(n,i) ...
分类:其他好文   时间:2014-10-04 22:23:07    阅读次数:310
标准库Stack的一种实现
本文实现了STL中stack的大部分功能,同时添加了一些功能。 注意以下几点: 1.Stack是一种适配器,底层以vector、list、deque等实现 2.Stack不含有迭代器 在本例中,我添加了几项功能,包括不同类型stack之间的复制和赋值功能,可以实现诸如Stack >和Stack >之...
分类:其他好文   时间:2014-10-04 22:21:07    阅读次数:225
ruby中的win32ole使用
ruby中的win32ole是一个标准库,使用的时候只要添加require 'win32ole'就行。下面是一段模拟一个登陆的代码 1 require 'win32ole' 2 3 ie = WIN32OLE.new('internetExplorer.application') 4 5 ie......
分类:Windows程序   时间:2014-10-03 14:59:44    阅读次数:360
标准库Allocator(三)uninitialized_fill等函数的实现
前面我们使用了uninitialized_fill,来批量初始化某一段内存。 下面提供三个函数的实现代码,这三个代码的共同点是: 1.遇到错误,抛出异常 2.出现异常时,把之前构造的对象全部销毁 所以,这三个函数要么成功,要么无任何副作用。使用异常来通知使用者,所以在catch块中,处理完异常后要将...
分类:其他好文   时间:2014-10-03 02:33:33    阅读次数:324
C++ primer 笔记二
第3章 标准库类型 1.任何存储string的size操作结果的变量类型必须为string::size_type类型。 2.同理存储vector的size值应使用类似vector::size_type的类型变量 3.使用for(vector::size_type ix=0; ix != ivec.size(); ++ix)的风格 a.使用!=的效率更高 b.在循环过程中可能ivec的元素个数...
分类:编程语言   时间:2014-10-03 01:26:33    阅读次数:411
字典树
string标准库固然强大,但是仍然有一些处理字符串的优秀数据结构。Trie(前缀树)就是其中之一,它通过在树上对不同字符串的相同字符只记录一次,来实现对多个字符串的"压缩":可以认为多个字符串被压成了一个超级大的字符串。int ch[10000][26],cnt[10000];int sz=1; ...
分类:其他好文   时间:2014-10-02 23:21:23    阅读次数:187
标准库Allocator的简易实现(二)
自己实现Allocator并不难,其实只需要改变allocate和deallocate,来实现自己的内存分配策略。 下面是一个std::allocator的模拟实现 #ifndef ALLOCATOR_HPP #define ALLOCATOR_HPP #include #include templ...
分类:其他好文   时间:2014-10-02 20:34:33    阅读次数:264
C++中vector的实现
注意几点: 分配内存不要使用new和delete,因为new的同时就把对象构造了,而我们需要的是原始内存。 所以应该使用标准库提供的allocator类来实现内存的控制。当然也可以重载operator new操作符,因为二者都是使用malloc作为底层实现,所以直接采用malloc也可以。 对象的复制必须使用系统提供的uninitialized_fill和uninitialized_...
分类:编程语言   时间:2014-10-02 18:37:43    阅读次数:231
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!