美文网首页
无标题文章

无标题文章

作者: acm2017 | 来源:发表于2017-03-22 13:22 被阅读0次

    <h2>1.指针和引用</h2>

    引用必须赋初始值,没有空的,而指针可以为空
    指针可以重新赋值,但引用总是指向最初的那个对象
    当知道需要指向某个东西且不会指向其他东西时候,或者是实现操作符无法使用指针时候,选用引用,否则使用指针。

    #include <bits/stdc++.h>
    using namespace std;
    int main() {
        string s1("fsdfsaf");
        string s2("kfsdfsdf");
        string &rs = s1;
        string *ps = &s1;
        rs = s2;
        ps = &s2;
        cout << rs << endl;
        cout << (*ps) << endl;
        cout << s1 << endl;
        cout << s2 << endl;
        return 0;
    }
    /*
    这样的执行结果为:
    kfsdfsdf
    kfsdfsdf
    kfsdfsdf
    kfsdfsdf
    可见:引用是不能被更改指向对象的,试图那样做的结果就是使原来指向的对象值发生变化,但指针可以。
    */
    

    <h2>2.最好使用C++强制类型转换</h2>

    这里说的强制类型转换不是说<font color = red>(类型)变量</font>和<font color = red>类型(变量)</font>的区别,说的是:
    1.static_cast
    2.const_cast
    3.dynamic_cast
    4.reinterpret_cast
    用法:static_cast<类型>(变量)
    例如,把int 类型的变量a强制转换为double,C中的写法是(double)a,C++ 中是double(a)但是使用static_cast<double>(a)

    相关文章

      网友评论

          本文标题:无标题文章

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