zoukankan      html  css  js  c++  java
  • const用法

    基础用法:
      修饰常量
      void function(const int Var)保证形参在函数中不变
    未知用法:
      void function(const Class& Var);

        //引用参数在函数内不可以改变
        //*不加引用符号则传递的是复制
        //*使用加const的引用既保证了传递的对象不是复制(是本身),也保证了传递对象不会被改变
      void function()const;

         //常成员函数, 它不改变对象的成员变量. 也不能调用类中任何非const成员函数。
        //*const成员函数应该在函数原型说明和函数定义中都增加const限定:
        //**但构造函数和析构函数对这个规则例外,它们从不定义为常量成员,但可被常量对象调用(被自动调用)。它们也能给常量的数据成员赋值,除非数据成员本身是常量。

    一句话总结以下const和指针:const的下一个整体是什么,什么就是常量

    1)、const在前面   
    const int nValue; //nValue是const   
    const char *pContent; //*pContent是const, pContent可变   
    const (char *) pContent;//pContent是const,*pContent可变   
    char* const pContent; //pContent是const,*pContent可变   
    const char* const pContent; //pContent和*pContent都是const
    2)、const在后面,与上面的声明对等   
    int const nValue; // nValue是const   
    char const * pContent;// *pContent是const, pContent可变   
    (char *) const pContent;//pContent是const,*pContent可变   
    char* const pContent;// pContent是const,*pContent可变   
    char const* const pContent;// pContent和*pContent都是const

    总结:
    ①区分 const int* a和const (int*)a
    int const * a和int* const a
    ②void function(const Class& Var);优势(既传递引用又保证引用不被改变)
    ③void function()const相当说明该函数不改变对象的值

  • 相关阅读:
    C#访问MySql连接字符串
    简单的async和await用法
    Nuget新旧地址更换
    【NPS】nps分多少算好
    「干货」什么Linux是邮件服务器?
    「干货」编程语言十大经典算法,你知道几个?
    实验干货分享:用Go语言实现分布式缓存开发之map
    开发微信小程序游戏真的有手就行吗?
    图数据库Neo4j的介绍与使用
    干货分享:什么是Java设计三大工厂模式?
  • 原文地址:https://www.cnblogs.com/mgfsos/p/9070025.html
Copyright © 2011-2022 走看看