zoukankan      html  css  js  c++  java
  • 指针 与 引用 const static

       今天在网上看了一下关于指针和引用的讨论,自己有了一点理解,记录如下。

        引用时C++中引入的,它的本质是指针,是一种特殊的指针。

        1)必须初始化,且不存在NULL的引用。

        2)作为参数传递的时候,不需形参。 指针的指针效果就和指针的引用一样,可以修改指针本身(即指针代表的内存地址)。

            传值:实参的作用除了给形参初始化外,没有其他任何作用。

            但传应用的时候,没有形参,参与的是对象本身。

            我认为所谓的传址其实质还是传真,只是指变成了地址,同样还有形参的参与。所以形参本身(而不是形参指向的东西)修改了,那么实参是不能同步的。打比方说,指针是一个快捷方式,那么修改快捷方式所指向的对象,那么所以指向该对象的快捷方式都能同步。但如果修改其中一个快捷方式,将它指向另外一个对象,那么其他的快捷方式和这个快捷方式之间就没有联系了。

        3)引用不可以改变其引用的对象。这和const修饰一样。

        4)作为返回值的时候,引用不会触发类的拷贝构造函数。

             一般传值的时候,都是先生成一个临时变量,然后调用类的拷贝构造函数。

    顺便说一下如何初始化类中的const成员变量。

    我们都知道const变量需要初始化,但是类中的const成员变量如何初始化呢?

    在构造函数中? 这肯定不行啊,那是赋值而不是初始化。 答案是在构造函数的初始化列表中,进行初始化,它在执行类的构造函数之前执行。这样每个类的对象都可以初始化为不同的值。

    static的变量  它在.h中进行声明,需要在.cpp中进行初始化。全局位置处,前面加上类的作用域,因为它不属于某个对象,而是所有对象共享,属于整个类。static const也如此初始化。

  • 相关阅读:
    配置文件中文件重复
    大型网站技术架构02
    2018.12.26-12.30第一周毕设计划
    软件架构模式-分层架构II
    软件架构模式-分层架构
    echarts实现中国地图数据展示
    Python数据分析入门(一)——了解Python下的函数包
    Python学习笔记(二)
    Python学习笔记(一)
    Echarts的简单使用
  • 原文地址:https://www.cnblogs.com/jamesmile/p/1714289.html
Copyright © 2011-2022 走看看