(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
分享到:
相关推荐
关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const呢,我想事物的存在一定有它...下面我们从几个方面来说一下const的
php类中的$this,static,final,const,self这几个关键字在项目中经常会用的到,通过本文给大家分享this,static,final,const,self这几个关键字使用方法,对此感兴趣的朋友一起学习吧
本文实例讲述了PHP中define() 与 const定义常量的区别。分享给大家供大家参考,具体如下: 前言 今天在Stackoverflow又看到一个很有趣的文章,所以翻译过后摘了过来。...这就使得const会有以下几个缺点: cons
有如下几种情况,以下会逐渐的说明用法: A& perator=(const A& a); void fun0(const A* a ); void fun1( ) const; // fun1( ) 为类成员函数 const A fun2( ); 1) 修饰参数的const,如 void fun0...
有如下几种情况,以下会逐渐的说明用法: A& perator=(const A& a); void fun0(const A* a ); void fun1( ) const; // fun1( ) 为类成员函数 const A fun2( ); 1) 修饰参数的const,如 void fun0...
3.1 你是否经常使用const来表明不能够被更改的变量? 6 3.2 你是否经常使用const常量来代替宏? 6 3.3 下面四种情况,你知道是各表示什么意思吗? 6 3.4 你知道const常量如何初始化吗? 7 4 enum枚举 7 4.1 到底enum...
说明 这个函数是Delphi中用得最多的函数,现在就列举几个例子以得到直观的理解 "%" [索引 ":"] ["-"] [宽度] ["." 摘要] 类型 它是以"%"开始,而以"类型"结束,"类型"表示一个具体的类型。中间是用来格式化"类型"的...
以下几个函数分别是获取记录数,和记录光标移动。参数为记录集标识 long getRecordCount(int idx = -1) const; bool moveFirst(int idx = -1) const; bool movePrevious(int idx = -1) const; bool moveNext(int idx...
2.如果用VC开发程序,常见这么几个错误,C2001,c2005,c2011,这些错误的原因是什么。 Answer: 在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为: unresolved external symbol “symbol”(不确定的外部...
使用方法:1,需要包含interface.h头文件2,合并索引方法:调用:bool BuildDstIndex(const char * fileName,bool needBuildLineIndex = false,char delimiter ='\ n');函数参数:fileName需要复制索引的文件名...
平时还真没有使用到这个方法,一时不知如何回答 从方法名称来分析,应该是返回的是对象自身属性名组成的数组 那和 Object.keys() 方法不就一样了吗 感觉事情并不这么简单,于是我仔细看了一下这几种遍历对象的方法的...
转换仅支持html表和几个基本样式属性。 当前不支持图像或图表。 用法 const util = require ( 'util' ) const fs = require ( 'fs' ) const conversionFactory = require ( 'html-to-xlsx' ) const puppeteer = ...
abcdefghijklmnopqrstuvwxyz 该软件包将包含现代英语字母的单个小写的26个字符的字符串导出到几乎任何上下文中,这些字符串适合原样使用或无需转义就可以安全地插值,而无需转义。 该程序包的目的是减少重复输入的...
我整天使用的几个脚本的实用程序包。 设置 yarn 建造 yarn build 开始 # development yarn dev # production yarn build node build/bin/index.js 用法 命令行界面 # with npx npx @natterstefan/scripts --help # ...
本人用了十几个积分淘到的,现在免费提供。不求赚分,只求人气。 注意事项: 1、首先需要搭建openfire服务器,具体方法网上到处都是。 2、com.qq.util包中,Const类,修改XMPP_HOST内容(就是openfire服务器名称) 3...
以适应其内容(以几个字节为单位) 尝试! 特征: 小的 没有布局混乱(除非必要,否则不更改DOM) 您可以设置最小高度(通过rows属性或height CSS属性) 如果该字段可调整大小,则新大小将被视为最小高度 安装 ...
用php这么久了,惭愧的是,原来自己还一直没分清楚这几个关键字使用方法。
简单用法举例: DibBitmap bmp,ret,tmp; bmp.Open(_T("E:\\bmp.bmp"));//打开 bmp.ConvertBit(4,ret);//转为4位位图,ret保存返回值 ret.RotateLeft(tmp);//向左旋转90度,tmp保存返回值 tmp.Invert();//所有像素...
该单元提供以下几个过程用于显示动态提示窗体: ShowProgress - 显示进度条窗体 HideProgress - 隐藏进度条窗体 UpdateProgress - 更新当前进度 UpdateProgressTitle - 更新窗体标题 使用方法:在需要...