`
moxiaomomo
  • 浏览: 44201 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

const的几个用法

    博客分类:
  • C++
阅读更多
(1)const定义常量:

       const dataType constData=value;//const修饰的类型为dataType的变量value不可变.

(2)指针中使用const,主要有三种方式

     a.指针本身是常量,它本身不可变  

      char* const ptr;

     b.指针所指向的内容是常量,指向的内容不可变
      const char* ptr;

     c.两者都不可变
      const char* const ptr;

(3)函数中使用const

     a.传指针参数前添加const

      void* A(const char* Str);  //Str指向的内容被修饰为常量

     b.传引用参数前添加const

      void* A(const ClassType &obj);  //obj在函数体内被修饰为常量


(4)类中使用const

     a.使用const修饰成员变量

       使用const修饰类的成员函数,表示成员常量,它只能在初始化列表中赋值。如:
     class A
     {

          A(int x): val(x) { } ; //在初始化列表中定义

          const int val;         //成员常量

     }

      b.使用const修饰类的成员函数,如 int getNum(int a)const;


        这样当程序修改了类的数据成员或调用了非const成员函数时,编译器就会报错。

      c.使用const修饰类的对象,或者类对象引用或指针

        这对象中的所有数据成员都不能被修改,对于对象指针或对象引用也一样。

        在这种情况下,同时不能通过对象名调用对象中的非const成员,这符合安全规则。

同步博客:http://blog.csdn.net/moxiaomomo/archive/2011/06/10/6536720.aspx
1
0
分享到:
评论

相关推荐

    详解C语言中const关键字的用法

    关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const呢,我想事物的存在一定有它...下面我们从几个方面来说一下const的

    php类中的$this,static,final,const,self这几个关键字使用方法

    php类中的$this,static,final,const,self这几个关键字在项目中经常会用的到,通过本文给大家分享this,static,final,const,self这几个关键字使用方法,对此感兴趣的朋友一起学习吧

    PHP中define() 与 const定义常量的区别详解

    本文实例讲述了PHP中define() 与 const定义常量的区别。分享给大家供大家参考,具体如下: 前言 今天在Stackoverflow又看到一个很有趣的文章,所以翻译过后摘了过来。...这就使得const会有以下几个缺点: cons

    EDA/PLD中的const在函数声明中的应用

    有如下几种情况,以下会逐渐的说明用法:  A& perator=(const A& a);  void fun0(const A* a );  void fun1( ) const; // fun1( ) 为类成员函数  const A fun2( );  1) 修饰参数的const,如 void fun0...

    const在函数声明中的应用

    有如下几种情况,以下会逐渐的说明用法:  A& perator=(const A& a);  void fun0(const A* a );  void fun1( ) const; // fun1( ) 为类成员函数  const A fun2( );  1) 修饰参数的const,如 void fun0...

    C学习深入学习总结

    3.1 你是否经常使用const来表明不能够被更改的变量? 6 3.2 你是否经常使用const常量来代替宏? 6 3.3 下面四种情况,你知道是各表示什么意思吗? 6 3.4 你知道const常量如何初始化吗? 7 4 enum枚举 7 4.1 到底enum...

    格式化和相关函数详解

    说明 这个函数是Delphi中用得最多的函数,现在就列举几个例子以得到直观的理解 "%" [索引 ":"] ["-"] [宽度] ["." 摘要] 类型 它是以"%"开始,而以"类型"结束,"类型"表示一个具体的类型。中间是用来格式化"类型"的...

    Qt数据库封装类

    以下几个函数分别是获取记录数,和记录光标移动。参数为记录集标识 long getRecordCount(int idx = -1) const; bool moveFirst(int idx = -1) const; bool movePrevious(int idx = -1) const; bool moveNext(int idx...

    摩托罗拉C++面试题

    2.如果用VC开发程序,常见这么几个错误,C2001,c2005,c2011,这些错误的原因是什么。 Answer:  在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为:  unresolved external symbol “symbol”(不确定的外部...

    Flower:一个可以为大文件重建索引,加快查询串联出现位置的工具。支持查询出现在某些行,关联列,还有在整个文件当中的第几个字节

    使用方法:1,需要包含interface.h头文件2,合并索引方法:调用:bool BuildDstIndex(const char * fileName,bool needBuildLineIndex = false,char delimiter ='\ n');函数参数:fileName需要复制索引的文件名...

    JS 5种遍历对象的方式

    平时还真没有使用到这个方法,一时不知如何回答 从方法名称来分析,应该是返回的是对象自身属性名组成的数组 那和 Object.keys() 方法不就一样了吗 感觉事情并不这么简单,于是我仔细看了一下这几种遍历对象的方法的...

    html-to-xlsx:基于node.js的html到xlsx的转换

    转换仅支持html表和几个基本样式属性。 当前不支持图像或图表。 用法 const util = require ( 'util' ) const fs = require ( 'fs' ) const conversionFactory = require ( 'html-to-xlsx' ) const puppeteer = ...

    abcdefghijklmnopqrstuvwxyz:英文字母

    abcdefghijklmnopqrstuvwxyz 该软件包将包含现代英语字母的单个小写的26个字符的字符串导出到几乎任何上下文中,这些字符串适合原样使用或无需转义就可以安全地插值,而无需转义。 该程序包的目的是减少重复输入的...

    scripts:我全天使用的几个脚本的实用程序包

    我整天使用的几个脚本的实用程序包。 设置 yarn 建造 yarn build 开始 # development yarn dev # production yarn build node build/bin/index.js 用法 命令行界面 # with npx npx @natterstefan/scripts --help # ...

    XMPP+Openfire免费资源来啦

    本人用了十几个积分淘到的,现在免费提供。不求赚分,只求人气。 注意事项: 1、首先需要搭建openfire服务器,具体方法网上到处都是。 2、com.qq.util包中,Const类,修改XMPP_HOST内容(就是openfire服务器名称) 3...

    fit-textarea:自动展开以适合其内容,以几个字节为单位

    以适应其内容(以几个字节为单位) 尝试! 特征: 小的 没有布局混乱(除非必要,否则不更改DOM) 您可以设置最小高度(通过rows属性或height CSS属性) 如果该字段可调整大小,则新大小将被视为最小高度 安装 ...

    php self,$this,const,static,->的使用

    用php这么久了,惭愧的是,原来自己还一直没分清楚这几个关键字使用方法。

    windows平台上支持BITMAPCOREHEADER、BITMAPINFOHEADER、BITMAPV4HEADER、BITMAPV5HEADER四种类型位图的类库

    简单用法举例: DibBitmap bmp,ret,tmp; bmp.Open(_T("E:\\bmp.bmp"));//打开 bmp.ConvertBit(4,ret);//转为4位位图,ret保存返回值 ret.RotateLeft(tmp);//向左旋转90度,tmp保存返回值 tmp.Invert();//所有像素...

    Delphi ShowProgress自定义的进度条和消息提示窗口单元.rar

     该单元提供以下几个过程用于显示动态提示窗体:  ShowProgress - 显示进度条窗体  HideProgress - 隐藏进度条窗体  UpdateProgress - 更新当前进度  UpdateProgressTitle - 更新窗体标题  使用方法:在需要...

Global site tag (gtag.js) - Google Analytics