(转)关键字const有什么含意?
关键字const有什么含意? (转载)
一听到被面试者说:“const意味着常数”,我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着“只读”就可 以了。尽管这个答案不是完全的答案,但我接受它作为一个正确的答案。(如果你想知道更详细的答案,仔细读一下Saks的文章吧。)
如果应试者能正确回答这个问题,我将问他一个附加的问题:
下面的声明都是什么意思?
const int a;
int const a;
const int *a;
int * const a;
int const * a const;
前 两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型 数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数 是不可修改的,同时指针也是不可修改的)。如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。顺带提一句,也许你可能会问,即使不用关键字 const,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重关键字const呢?我也如下的几下理由:
•; 关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。如果你曾花很多时间清理 其它人留下的垃圾,你就会很快学会感谢这点多余的信息。(当然,懂得用const的程序员很少会留下的垃圾让别人来清理的。)
•; 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。
•; 合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug的出现。
转载于:https://www.cnblogs.com/fjchenqian/archive/2009/01/23/1380553.html
(转)关键字const有什么含意?相关推荐
- 关键字const是什么含意
const int a; int const a; const int *a; int *const a; int const *a const; 前两个的作用是一样,a是一个常整型 ...
- 关键字const是什么含意?
我只要一听到被面试者说:"const意味着常数",我就知道我正在和一个业余者打交道.去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embed ...
- 关键字const有什么含意?修饰类呢?static的作用,用于类呢?还有extern c的作用
const 意味着"只读",下面的声明都是什么意思? const int a; int const a; const int *a; int * const a; ...
- C语言面试题小练——第10天:宏定义一年的秒数、变量定义练习、关键字volatile有什么含意
文章目录 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) 2. 用变量a给出下面的定义 3. 关键字volatile有什么含意?并给出三个不同的例子. 1. 用 ...
- C语言再学习 -- 关键字const
const 关键字其实我们并不陌生,之前有讲过const修饰数组和指针.现在来详细介绍这个关键字. 参看:[C/C++和指针]著名的<const的思考> 一.const 介绍 1.cons ...
- C语言关键字----Const
C中CONST的使用: 虽然这听起来很简单,但实际上,const的使用也是c语言中一个比较微妙的地方,微妙在何处呢?请看下面几个问题. 问题:const变量 & 常量 为什么下面的例子在使用一 ...
- 第三节:ES6中另一个不得不说的关键字const
之前感觉在微信上看含有代码的文章体验很差,特别是阅读代码的时候,这次我给代码部分着色了,希望大家能看得舒服点:还有配上了图,更有趣好玩了,坚持一个宗旨:相信编程讲课可以更通俗易懂.更有趣.也欢迎大家积 ...
- C语言中关键字const、typedef
const:const是C语言的一个关键字,是用来定义常量的.const是常属性的意思,当一个变量被const修饰之后,其值不能再被改变了,但它仍然是一个变量,只不过有了常属性. 我们如何才能验证这一 ...
- 关键字const——const char*和char* const
文章目录 概述 const char* 和char* const define 和 const 概述 关键字const一般用来修饰定义常量.使用const修饰的变量就不能被更改了.这是因为在编译时,编 ...
最新文章
- 华为AC6605与OSSH免费版华为Portal系统的对
- 爬楼梯—leetcode70
- java batch_Java EE 7 Batch中传递属性/参数的2种方式
- SQL的主键和外键约束 小记
- 证明:含有n个结点的二叉链表中含有n+1个空链域
- java C# objective-c AES对称加解密
- SignalR的Javascript客户端API使用方式整合
- sqlserver触发器如何将一个库中的数据插入到另外一个库中
- 软件度量都该度个啥?
- cass中的地形图打印细节
- Bootstrap框架---Uploadify插件----多张图片上传交互方式一
- 海信电视怎么删除自带应用
- Linux 打开文件显示: No such file or directory
- 信用社计算机专业大纲,广西农村信用社计算机专业试题
- 测试用例编写练习(二)
- 迪拜国际学术城各所大学中国学生入学人数持续增长
- Selenium自动化测试面试题
- visibility 和 display 的区别
- TortoiseSVN-1.6.5.16974(开源文件版本管理软件) 安装图解教程及下载文件
- C语言提高篇之——动态内存管理
热门文章
- otis电梯服务器tt使用说明_南充私人电梯
- 如何让小程序页面更顺滑_小程序怎样让wx.navigateBack更好用的方法实现
- 基于javaweb(springboot+mybatis)网站建设服务管理系统设计和实现以及文档报告设计
- linux redis 启动用户,redis 进程使用root用户启动 -- 整改方案
- 如何学习matlab 知乎,知乎日报
- c语言指针算法分析怎么写,什么叫指针算法啊??
- 如何进入embl的ebi网站fasta3服务器,The EMBL-EBI bioinformatics web and programmatic tools framework...
- android+自定义alertdialog,安卓自定义AlertDialog
- 【youcans 的 OpenCV 例程200篇】135. 形态学重建之粒度测定
- 从一个深度图里面导出NARF特征