shootingstars

菩提本无树,明镜亦非台。本来无一物,何处惹尘埃。尘埃乃虚幻,亦何惧之来?

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  31 随笔 :: 0 文章 :: 47 评论 :: 0 引用

C++

关于vc++的一些心得,教训,经验。
     摘要: 我们有些时候需要存储一些函数以备后用,最常用的就是C中的Callback。。。但是到了C++年代,函数都放到了类中,想要Callback就有些复杂了。Boost::function封装了一个模版库,它可以接受静态函数,普通函数以及仿函数,为了了解它的原理,我自己试图写一个简单的类。。。我们先看boost中function的使用boost::function<int(int)> func...  阅读全文
posted @ 2010-01-11 18:10 shootingstars 阅读(14) | 评论 (0)  编辑

     摘要: C可以支持可变参数,所有才会有printf一类的神奇函数。问题是它是怎么实现的?其实看完了va_list/va_start等宏的定义后,才会猛然知道,原来它是这么的简单。其实就是C把所有变量压入一个堆栈,在函数中再按前面的format的指示从堆栈中取出对应的值而已。相关网页:http://ipe.gzu.edu.cn/kszx/jsj/jyjl1/200910/33758.html 上述网页中提...  阅读全文
posted @ 2010-01-08 11:29 shootingstars 阅读(17) | 评论 (0)  编辑

     摘要: SFINAE(匹配失败不是错误) 当模版函数匹配失败时,如果还有其他选择,就选择其他的重载函数,并且忽略这个编译错误。相关的有boost::enable_if相关网页:http://www.cnblogs.com/coolzgx/archive/2009/12/16/1625425.html  阅读全文
posted @ 2009-12-30 17:51 shootingstars| 编辑

     摘要: 1 使用:一直以来习惯了使用printf函数,但是对于可变参数没有深入研究过,觉得可变参数是一个神奇的技术^0^。。。工作闲下来的时候,想研究研究看可变参数的使用和原理。目前C提供的可变参数的申明为void function(const char *format, ...);这样就可以在function中使用可变参数C提供了几个宏用于使用可变参数va_listva_startva_argva_en...  阅读全文
posted @ 2008-07-30 14:05 shootingstars 阅读(169) | 评论 (0)  编辑

     摘要: 在Java中,继承类可以使用super访问基类中的数据变量Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->classA{inti=-1;}classBextendsA{voidprintSuperI(){System.out.println(super...  阅读全文
posted @ 2008-06-02 09:23 shootingstars 阅读(231) | 评论 (0)  编辑

     摘要: 以前使用bind1st以及bind2nd很少,后来发现这两个函数还挺好玩的,于是关心上了。在C++ Primer对于bind函数的描述如下:“绑定器binder通过把二元函数对象的一个实参绑定到一个特殊的值上将其转换成一元函数对象C++标准库提供了两种预定义的binder 适配器bind1st 和bind2nd 正如你所预料的bind1st 把值绑定到二元函数对象的第一个实参上bind...  阅读全文
posted @ 2007-08-17 17:35 shootingstars 阅读(1006) | 评论 (2)  编辑

     摘要: 七:regex_replace学习写了个去除左侧无效字符(空格,回车,TAB)的正则表达式。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->std::stringtestString="\r\nHelloWorld!GoodByeWorld\r\n";...  阅读全文
posted @ 2007-08-01 18:45 shootingstars 阅读(613) | 评论 (5)  编辑

     摘要: 六:关于重复的贪婪我们先来一个例子:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->std::stringregstr="(.*)(age)(.*)(\\d{2})";boost::regexexpression(regstr);std::string...  阅读全文
posted @ 2007-08-01 17:08 shootingstars 阅读(327) | 评论 (0)  编辑

     摘要: 五:regex_search学习regex_search与regex_match基本相同,只不过regex_search不要求全部匹配,即部份匹配(查找)即可。简单例子:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->std::stringregstr...  阅读全文
posted @ 2007-08-01 15:12 shootingstars 阅读(509) | 评论 (0)  编辑

     摘要: 四:regex_match例子代码学习1 我们经常会看一个字符串是不是合法的IP地址,合法的IP地址需要符合以下这个特征: xxx.xxx.xxx.xxx 其中xxx是不超过255的整数正则表达式找到上面的这种形式的字符串相当容易,只是判断xxx是否超过255就比较困难了(因为正则表达式是处理的文本,而非数字)OK,我们先来处理一个数字,即:xxx。找到一种表达式来处理这个数字,并且保证这个数字不...  阅读全文
posted @ 2007-08-01 11:23 shootingstars 阅读(513) | 评论 (0)  编辑

posted @ 2007-07-30 17:30 shootingstars 阅读(995) | 评论 (1)  编辑

posted @ 2007-07-26 14:12 shootingstars 阅读(173) | 评论 (0)  编辑

posted @ 2007-06-13 18:35 shootingstars 阅读(151) | 评论 (0)  编辑

posted @ 2007-06-13 18:14 shootingstars 阅读(296) | 评论 (0)  编辑

posted @ 2007-06-12 17:37 shootingstars 阅读(369) | 评论 (0)  编辑

posted @ 2006-01-23 11:46 shootingstars 阅读(2012) | 评论 (2)  编辑

posted @ 2004-11-20 11:40 shootingstars 阅读(916) | 评论 (0)  编辑

posted @ 2004-07-15 20:22 shootingstars 阅读(16521) | 评论 (27)  编辑