c++学习笔记系列(二)

      由于最近在上项目吧,时间比较紧张,所以也就没有太多时间来及时更新博客了。但是我会吧c++学习笔记系列给写下去。 说实在话,我也在考虑该如何写这个话题?原因是c++太大了,包含的东西太广太深,随便一个知识点都足够让人折腾一阵子了,然而这些知识都是可以在网上搜索到的。所以我决定换一种方式以问答的形式来体现。这些问题是我在学c++中遇到也包括别人在博客或者学习群中提到的。

      首先介绍一个朋友Baleno.cui。此仁兄c++功夫十分了得,有深厚的c++开发经验,对c++研究的很透彻。感谢他在本人学习c++的过程中给予我的无私的帮助,真的是良师益友。以下我以老崔相称。最后希望大家留言交流,遇到问题也可以给我发邮件。virgree@126.com

      给出一个函数,测试一下你是否看懂?

         template<typename T1,typename T2,typename T3,typename T4>

         void ProcessList(T1 (T2::*f)(const T4*),T3& pobj,const T4*  const * plist)

          {

                if (plist && f)

                      {

                         const T4** p = const_cast<const T4**>(plist);

                           while (*p)

                                {

                                         (pobj.*f)(*p);

                                           ++p;

                                }

                      }

         };

这个函数是老崔发的,当时看懂的人紧紧是聊聊无几。解释一下:

函数功能:用二维数组填充流数据

具体参数:T1是成员函数原型的返回值,

               T2::*f表示成员函数指针,整个T1 (T2::*f)(const T4*)描述了一个成员函数原型,返回值为T1类型,类为T2,参数类型为T4。                    T3是对象实例表示要调用的具体对象类型,可以和T2是一个类型也可以是T2的子类等,

               T4是二维数组列表。

如果你能看懂,说明你c++水平非常可以了,就是看不懂也没有关系了,通过学习你也可以看到懂的,在此仅仅也做测试用

这篇算是闲扯吧

推荐几本书

<c++ primer>,本人觉的此书内容比较全面。几乎涵盖了c++的方方面面。

<The C++ Standard Library>,此书是对c++标准库的详细讲解,也有中文版不过我读的时候感觉不适应。所以我看的是E文

<Effective C++>里面的编程经验很值的我们借鉴

<c++ template>这本书相当不错,讲述了template语言机制的细节,以及template高级编程的技法。但是有一点的难度

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值