More Effective C++ 进修笔记_ pointer && refere

    添加时间:2013-7-26 点击量:

    这项目组是More Effective C++条目1 和条目2的内容,做个笔记


    ----------------------------------------------------------------------------------------



    1. pointer && reference


        若是有一个变量,须要(代表)指向一个对象,然则有可能不(代表)指向任何对象,则好用pointer


        若是一个变量总会(代表)指向一个对象,好使用reference


        是以



    char pc = 0;
    
    char& rc = pc;


        这种代码不克不及呈现。



        对于 pointer 和 reference 此中 pointer 可认为 null 并且可以从头赋值,并指向另一个对象,然而 reference 却老是指向它最初的对象,不克不及从头赋值。



    1 string s1(Nancy);
    
    2 string s2(Clancy);
    3
    4 string& rs = s1; //rs代表s1
    5 string ps = &s1; //ps指向s1
    6 rs = s2; //rs仍然代表s1,然则s1的值变为 Clancy
    7 ps = &s2; //ps指向s2,然则s1的没有变更



    2. C++转型操纵符


        C++ 中转型操纵符有4个 static_cast, const_cast, dynamic_cast 和 reinterpret_cast


        static_cast 首要用于通俗类型转换,然则不克不及用于移除常量性或变易性操纵


        const_cast 首要用于改变表达式的常量性,经由过程它可以去除变量的 const 属性,除此之外的其它操纵则不克不及应用


        dynamic_cast 首要用来履行持续体系中 “安然的向下转型或跨系转型动作”。也就是说,经由过程它可以将指向基类的指针或者引用转换为指向子类的指针或者引用。若是转换失败,则会返回空指针(当转换指针时)或一个exception(当转换引用时)。


        reinterpret_cast 首要用于转换函数指针的类型。


       



    读书,不要想着实用,更不要有功利心。读书只为了自身的修养。邂逅一本好书如同邂逅一位知己,邂逅一个完美之人。有时心生敬意,有时怦然心动。仿佛你心底埋藏多年的话,作者替你说了出来,你们在时光深处倾心相遇的一瞬间,情投意合,心旷神怡。
    分享到: