panda ID:pandaxcl
79186次访问,排名1150(1)好友0人,关注者2
pandaxcl的文章
原创 61 篇
翻译 0 篇
转载 0 篇
评论 151 篇
pandaxcl的公告

博客文档资源下载在本人的网站下载!!!

我也优先在我的网站论坛上面回答问题

在研究C++自动化编程好久之后,发现C++自动化编程在国内还是一个空白。所谓的C++自动化编程,简单点说就是采用了C++的高级模板技术配合产生式编程技法实现了C++代码的自我配置,自动维护代码之间的种种一致性问题。关于这个问题的讨论,将会在我的网站上面进行细致的讨论。如果有问题,欢迎来我的网站提问哦。看看下面的我的网站的链接。

EMail:pandaxcl@163.com

QQ:56637059

我的网站: http://www.autodev.net

最近评论
huxi043715:博主,在很强阿。你的文章也很容易懂。
wangwei200508:呵呵,谢了
您的这里指到自己硬盘了
<a href="file:///D:/work/lex_yacc/chapter01/lexyacc.rar.png" target="_top">这里</a>
imath:老大我引用了你的 这系列文章,嘿嘿
dlr0987:abc* = ab (c+|e) =ab|abc|abcc.....

pandaxcl:这里要注意那个return i
前置和后置都是为了实现增一的效果;)
特意实现前置和后置都是相同的功能的;)
文章分类
收藏
    相册
    友情连接
    小熊猫
    我的另外一个博客
    我的网站-自动化编程社区
    我的论坛-自动化编程社区论坛
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 自定义STL游标实现虚拟容器(1)收藏

    新一篇: 自定义STL游标实现二分法求解方程的根 | 

    /*******************************************************************************
    在这里仅仅是为了实现一个索引递增游标,既然是一个STL兼容游标,当然就需要遵守STL
    游标规范,这里只使用了前向游标,所以代码中的基类采用了STL的iterator模板,采用了
    前向游标标志(std::forward_iterator_tag),因为是一个索引游标,所以游标所指向的
    元素就是size_t类型,当然也可以是其它类型,这根据需要而定。
    需要注意的是想要自定义一个STL兼容的前向游标类必须遵守下述规范:
    ------------------------------------------------------
    a:解引用操作符(operator*)
    b:前递增操作符(operator++())
    c:后递增操作符(operator++(int))
    d:相等操作符(operator==)
    e:不等操作符(operator!=)
    ------------------------------------------------------
    STL中的游标类:
    ------------------------------------------------------
    1.输入游标类(std::input_iterator_tag)
    2.输出游标类(std::output_iterator_tag)
    3.前向游标类(std::forward_iterator_tag)
    3.双向游标类(std::bidirectional_iterator_tag)
    4.随机访问游标类(std::random_access_iterator_tag)
    ------------------------------------------------------
    就必须遵守相应的规范定义出相应的操作符,具体的这些规范这里不一一列出,如果想知道
    相应的具体规范可以参见STL标准。网上有很多的,随便一搜一大堆,英文中文都有的。
    *******************************************************************************/
    #include <iostream>//当然是输入输出啦:)
    #include <algorithm>//使用了std::copy算法
    #include <iterator>//使用了std::iterator模板
    ////////////////////////////////////////////////////////////////////////////////
    //自定义一个循环游标类
    class loop_iterator:public std::iterator<std::forward_iterator_tag,size_t>
    {
    public:
    loop_iterator(size_t const&i):_i(i){}
    size_t& operator*(){return _i;}//a:解引用操作符
    const size_t& operator++()//b:前递增操作符
    { _i++;return _i; }
    const size_t& operator++(int)//c:后递增操作符
    { _i++;return _i; }
    bool operator==(const loop_iterator& other) const//d:相等操作符
    { return _i == other._i; }
    bool operator!=(const loop_iterator& other) const//e:不等操作符
    { return _i != other._i; }
    private:
    size_t _i;
    };
    //上面的没有注释的部分是定义STL兼容游标类不必要的,这里用来保存索引值,当然还
    //可以根据具体的需要添加许许多多额外的变量,这就看你的发挥了。
    ////////////////////////////////////////////////////////////////////////////////
    //下面的测试程序一目了然,不需要过多解释。如果你不明白什么意思,就需要进一步的
    //熟悉STL了:)
    int main()
    {
    loop_iterator begin(0),end(10);//定义一个从0到9的索引序列[0,10)
    std::copy(begin,end,std::ostream_iterator<int>(std::cout," "));
    return 0;
    }
    ////////////////////////////////////////////////////////////////////////////////
    //运行结果如下:
    /*******************************************************************************
    0 1 2 3 4 5 6 7 8 9
    *******************************************************************************/
    ////////////////////////////////////////////////////////////////////////////////

    发表于 @ 2006年03月29日 18:46:00|评论(loading...)|编辑

    新一篇: 自定义STL游标实现二分法求解方程的根 | 

    评论

    #defyer007 发表于2006-04-16 01:09:00  IP: 59.42.151.*
    作者对STL的理解很深啊:)
    #wanfustudio 发表于2007-10-25 10:42:54  IP: 218.94.6.*
    前置跟后置的++ 怎么是一样的
    #pandaxcl 发表于2007-10-26 17:34:14  IP: 61.172.241.*
    这里要注意那个return i
    前置和后置都是为了实现增一的效果;)
    特意实现前置和后置都是相同的功能的;)
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © pandaxcl