- 博客(19)
- 资源 (2)
- 收藏
- 关注
转载 template的妙用
template的妙用 游戏引擎开发网 龚敏敏本文发表于《开发高手》2004年第2期 如有转载请声明出处也许在很多C++程序员的心目中,template只是一个用于泛型的关键字而已。其实,它的作用远不止此。下面就让我们看看它的不可思议。 FOURCC的生成 FOURCC全称Four-Character Codes,是在编程中非常常用的东西,一般用作标示符。比如wav、avi等R
2005-05-02 19:23:00
1825
转载 使用 库创建重复键关联容器
使用 库创建重复键关联容器作者:Danny Kalev编译:TT 工作室原文出处:Use multimap to Create Associative Containers with Duplicate Keys摘要:标准库的 multimap 容器与 map 关联容器非常类似——但是,multimap 允许重复键。这个特性使得 multimap 比想象的要有用得多。本文将对之进行探讨。 在
2005-04-28 01:01:00
1169
转载 Boost源码笔记:boost::multi_array
Boost源码笔记:boost::multi_array 谢轩 /文动机 C++是一门自由的语言,允许你自由的表达自己的意图,对不对? 所以我们既然可以new一个一维数组,也应该可以new出多维数组,对不对?先来看一个例子: int* pOneDimAr
2005-04-28 00:52:00
1173
转载 GFX with SDL
Lesson 1: Getting started with SDL作者:Marius Andra翻译:heroboy欢迎来到“GFX with SDL”的第一篇教程。在Dev-C++中使用SDL首先需要下载sdlDevCPP-1.2.4.zip(点击名称下载)。把zip文件解压到Dev C++的目录中,请确定include和lib文件夹(zip文件中)中的文件解压到Dev C++中的incl
2005-04-27 17:56:00
2127
转载 regex 2
在上一篇的learning boost 中,我们已经说完了regex中的三个模板类,这一篇我们要来使用这些类。我们通过三个算法来使用正则式,regex_match、regex_search、regex_replace。regex_matchregex_match算法用来测试一个字符串是否完全匹配正则式。让我们来看一下regex_match的使用:if (regex_match(
2005-04-27 17:45:00
1183
转载 Smart ptr
Boost中提供的5类智能指针。分别是:l scoped_ptr 独占的指针l scoped_array 独占的数组l shared_ptr 引用计数指针l shared_array 引用计数数组l weak_ptr
2005-04-27 17:42:00
1179
转载 string algorithm 1
简介string algorithm是boost中提供字符串算法的类库。在这里,字符串不一定是std::basic_string,也可以是其它的stl容器或是c++中的零结尾字符串char*。例:std::string str("Hello");std::vector vstr(str.begin(), str.end());char *cstr=new char(str.
2005-04-27 17:40:00
1267
转载 Tuple and ref
Boost::tuple是类似于std::pair的一个类。Pair有且只能有两个成员(first和second),而tuple的元素可以是0-10个。使用tuple要包含boost/tuple/tuple.hpp文件。例如:#include...tuple t1(1,2.0,”Hello”);tuple t2(1,’a’);tuple t3;//在这种情况下,
2005-04-27 17:39:00
1049
转载 regex语法规范(翻译)
这部分包含了boost.regex库的正则表达式的语法。这是一份程序员指南,实际的语法由在程序中的正则表达式的选项决定。(译注:即regex类构造函数的flag参数。) 文字(Literals)除了一下字符,其它的任何字符都表示其字面意义(literal)。“.”, “|”, “*”, “?”, “+”, “(“, “)”, “{“, “}”, “[“, “]”, “^”
2005-04-27 17:38:00
2499
转载 Boost::any分析
boost::any是一个能代表任何对象类型的对象,正如COM库的Variant变量类型,以及JAVA中的Object。不同的是,Variant的做法是包含所有可能类型的一个成员实现,浪费空间,而则boost::any借助于模板,没有空间浪费。Variant的大致实现是:Class Cvariant{ int iData; long
2005-04-27 17:35:00
1002
转载 Boost::any分析
boost::any是一个能代表任何对象类型的对象,正如COM库的Variant变量类型,以及JAVA中的Object。不同的是,Variant的做法是包含所有可能类型的一个成员实现,浪费空间,而则boost::any借助于模板,没有空间浪费。Variant的大致实现是:Class Cvariant{ int iData; long
2005-04-27 17:32:00
1001
转载 Learning Spirit 2
Learning Spirit 2Phase level vs. character levelparse函数有4种形式的重载。template typename IteratorT, typename DerivedT> parse_infoIteratorT> parse ( IteratorT const& first, Itera
2005-04-27 17:12:00
988
转载 Learning Spirit 1
Learning Spirit 1spirit是boost中的语法分析框架。使用spirit可以用来编写语法分析程序。spirit有如下特点:l 使用递归下降分析程序(分析的效率不高)l 模板元编程技术实现(编译慢,但是提高了程序的运行速度)l EBNF语法表示(使用方便直观) Hello, Spirit!下面我们就通过一个简单的例子,来看看spir
2005-04-27 17:10:00
1189
转载 STL中仿函数(functors)、类成员和mem_fun的使用
众所周知,STL使用起来非常方便,其中仿函数(functor)扮演了一个非常重要的角色。灵活运用仿函数的使用对于发挥STL强大功能非常关键。本文详细介绍了如何使用mem_fun和mem_fun1来绑定类成员函数,使之成为functor什么是仿函数?就是一个重载了"()"运算符的struct,例如:struct print_obj{ void operator(in
2005-04-26 18:57:00
975
转载 Regular Expression心得体会
前言Regular Expressions(以下用RE称呼)对小弟来说一直都是神密的地带,看到一些网络上的大大,简单用RE就决解了某些文字的问题,小弟便兴起了学一学RE的想法,但小弟天生就比较懒一些,总希望看有没有些快速学习的方式,于是小弟又请出Google大神,藉由祂的神力,小弟在网络上找到了Jim Hollenhorst先生的文章,经过了阅读,小弟觉得真是不错,所以就做个小心得报告,跟Move
2005-04-26 18:16:00
930
转载 typedef和typename关键字
1、类型说明typedef 类型说明的格式为: typedef 类型 定义名; 类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型。定义名表示这个类型的新名字。 例如: 用下面语句定义整型数的新名字: typedef int SIGNED_INT; 使用说明后, SIGNED_INT就成为int的同义词了, 此时可以用SIGNED_I
2005-04-26 18:08:00
852
转载 解析boost
(一)any 在写程序中,我们往往需要在运行期保存一个“泛型”的对象的指针,也就是说这个指针可能是任何对象的指针,这种情况下,我们一般都是把这个指针cast成一个void*或者一个int,然后在需要的时候再cast回来,这样往往缺乏型别安全,况且我们的程序员都喜欢使用C的转型操作而非C++的转型操作,从而导致一个T*指针被cast成一个U*的指针而编译器却不做任何表示,为了确保型别安全,这个时候
2005-04-25 22:32:00
1244
原创 阅读代码工具
平时要看很多程序源码,常常被很多的源码搞的头大,后来发现一些好的工具可以提高阅读代码的效率,介绍几种给大家。1.notpad++ 这个小的开源软件可以阅读很多种语言的源代码,软件不大,多页标签显示,支持语法着色,而且字体显示的很漂亮,看起来赏心悦目,更好的一点是支持代码折叠,方便阅读,是读单个文件的好帮手。2.sourceInsight 对于多个源文件的阅读,最痛苦的莫过于函数调用,感
2005-04-22 14:04:00
12901
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人