美文网首页
C++面向对象程序设计-Fourth Week

C++面向对象程序设计-Fourth Week

作者: Letmethinkthink | 来源:发表于2017-11-12 23:58 被阅读0次

    Knowledge Point:

    converion function   // 转换函数

    operator double() const {

                  return   (double) (m_numerator / m_denominator);

    }

    有了转换函数,编译器就会将合适的可以转换的数据转成相应的类型,我感觉有点类似于运算符重载。

    non-explicit-one-argument ctor

    构造函数前+explicit也算是提醒编译器不用帮忙进行隐式转换了。

    pointer-like classes

    eg: shared_ptr

    类实现智能指针,内部封装这一个真正的指针

    引用计数,方便内存管理提高安全性

    namespace

    项目团队合作中为了避免不同成员实现的不同方法,也避免相同命名的情况。

    class template 类模板

    template<typename T>

    class fun{

    private: 

         T  temp;

    public:

        fun( T t  = 0): temp(t) { }

    }

    {

    fun<int> t1(5);

    }

    数据类型泛化,没有明确规定,具体运行时才决定具体类型,使用更加方便

    function template 函数模板

    函数泛化,函数使用更加方便,数据类型返回类型模糊。

    specialization 模板特化

    将模板具现化,有点个性化设计的感觉,方便程序员编程

    partial specialization 模板偏特化

    则将模板定义中部分参数特化,更加灵活。

    template template parameter 模板模板参数

    感觉更像是模板函数的嵌套

    variadic templates数量不定的模板参数

    1+包的递归


    总结:这周内容蛮多,也不太容易理解,只好简单总结一下,之后再慢慢研究

    这周作业中也去详细了解了内存对齐机制,对对象分配的大小偏底层的计算机存储方式也有一定的了解,不断学习也在不断收获。

    分享一篇内存对齐比较好理解的文章

    http://blog.csdn.net/hairetz/article/details/4084088

    相关文章

      网友评论

          本文标题:C++面向对象程序设计-Fourth Week

          本文链接:https://www.haomeiwen.com/subject/dobnpxtx.html