const

原创 2013年12月02日 10:41:17

1.修饰变量

指明变量值是不能被更新,引入的目的是为了取代预编译指令,可以节省空间,避免不必要的内存分配,但是必须被初始化,否则没有机会去初始化。

const int Max=100; int Array[Max];

  #define PI 3.14159 //常量宏 
  const double Pi=3.14159; //此时并未将Pi放入RAM中 ...... 
  double i=Pi; //此时为Pi分配内存,以后不再分配! 
  double I=PI; //编译期间进行宏替换,分配内存 
  double j=Pi; //没有内存分配 
  double J=PI; //再进行宏替换,又一次分配内存! 
  const定义常量从汇编的角度来看,只是给出了对应的内存地址,而不是象#define一样给出的是立即数,所以,const定义的常量在程序运行过程中只有一份拷贝,而#define定义的常量在内存中有若干个拷贝。 

2.指针

对指针来说,可以指定指针本身为 const,也可以指定指针所指的数据为const,或二者同时指定为 const

3.函数声明

在一个函数声明中,const 可以修饰形参,表明它是一个输入参数,在函 数内部不能改变其值

4.对于类的成员函数,若指定其为 const 类型,则表明其是一个常函数, 不能修改类的成员变量;
5)对于类的成员函数,有时候必须指定其返回值为 const 类型,以使得其 返回值不为“左值”。例如:
const classA operator*(const classA& a1,const classA& a2);
operator*的返回结果必须是一个 const 对象。如果不是,这样的变态代码 也不会编译出错

关于const

我们看到const意味着"只读"。 Const只是一个修饰符,不管怎么样a仍然是一个int型的变量 const int a; int const a; const int *a; int * con...

socket网络字节序以及大端序小端序

不同CPU中,4字节整数1在内存空间的存储方式是不同的。4字节整数1可用2进制表示如下: 00000000 00000000 00000000 00000001 有些CPU以上面的顺序存储到内...
  • softn
  • softn
  • 2016年06月02日 08:05
  • 1137

三种不同查找算法实际查找性能的对比

一、查找问题的介绍         查找问题就是在给定的集合(或者是多重集,它允许多个元素具有相同的值)中找寻一个给定的值,我们称之为查找键。有许多查找算法可供选择,其中既包括直截了当的顺序搜索,也包...

const用法详细解释

  • 2014年11月04日 09:20
  • 98KB
  • 下载

zepto_const js

  • 2015年12月02日 19:39
  • 8KB
  • 下载

【学习C++】C++常成员函数 - const 关键字

C++常成员函数 - const 关键字 一、常成员函数详解 声明:函数名(参数表)const; 说明: (1)const是函数类型的一部分,在实现部分也要带该关键字。 (2)const关键...
  • KYJL888
  • KYJL888
  • 2017年12月07日 00:03
  • 3

C++ const使用详解

  • 2013年03月02日 15:31
  • 29KB
  • 下载

C++关于Const使用

  • 2013年12月05日 17:45
  • 13KB
  • 下载

C++类型转换详解--const_cast

一. 函数描述: const_cast ( expression ) 主要是用来去掉const属性,当然也可以加上const属性。主要是用前者,后者很少用。 去掉const属性:const_c...
  • lwbeyond
  • lwbeyond
  • 2011年02月28日 15:49
  • 26417

C++中const的用法

  • 2013年12月04日 18:50
  • 34KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:const
举报原因:
原因补充:

(最多只允许输入30个字)