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 对象。如果不是,这样的变态代码 也不会编译出错

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

OpenCV源码阅读——1.1 Mat的结构

我是地理信息系统专业的学生,机缘巧合走上了机器视觉的道路

AppNinja 开发手记2: QQ iOS版 表情加密解密算法

AppNinja 开发手记2:QQ iOS版 表情加密解密算法 学习心得:  遇到有明文有密文的文件数据,需要考虑到分段加解密的情况。 http://blog.csdn.net/a283194231...

QQ表情排列算法

//取文件内容 NSString *filePath = [[NSBundle mainBundle]pathForResource:@"faceMap_ch" ofType:@"plist"]; ...

SQL语句 sqlite常见操作

关于sqlite常用一些操作总结 1.打开数据库 2.创建表 3.对数据库进行常用操作 4.关闭数据库

zepto_const js

const用法详细解释

  • 2014-11-04 09:20
  • 98KB
  • 下载

C语言关键字const

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

C++ const使用详解

  • 2013-03-02 15:31
  • 28KB
  • 下载

C++关于Const使用

  • 2013-12-05 17:45
  • 13KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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