你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【3.29签到】每日问答——关键字const有什么含意?    关闭

[复制链接]
苏柚 提问时间:2016-3-29 08:35 /
阅读主题, 点击返回1楼
收藏 评论95 发布时间:2016-3-29 08:35
95个回答
荣丰宇 回答时间:2016-3-29 11:41:07
const关键字至少有下列n个作用:
(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;
(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;
(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;
(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”。例如:
const classA operator*(const classA& a1,const classA& a2);
  operator*的返回结果必须是一个const对象。如果不是,这样的变态代码也不会编译出错:
classA a, b, c;
(a * b) = c; // 对a*b的结果赋值
  操作(a * b) = c显然不符合编程者的初衷,也没有任何意义。
awficel1 回答时间:2016-3-29 11:59:11
签到签到
Fenglo 回答时间:2016-3-29 12:03:45
签到签到签到
飞狼老大 回答时间:2016-3-29 12:14:40

const关键字至少有下列作用:
(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;
(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;
(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;
(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”
12345.png
那就地方 回答时间:2016-3-29 12:30:22
const定义的变量不能被第二次赋值
梦想家旅行家 回答时间:2016-3-29 12:40:37
签到。。。。。。。。。。。。。
disheng4688 回答时间:2016-3-29 12:40:39
签到签到
北松 回答时间:2016-3-29 12:44:28
签到,学习
周玄尊 回答时间:2016-3-29 12:48:08
int a1=3;   ///non-const data
const int a2=a1;    ///const data
int * a3 = &a1;   ///non-const data,non-const pointer
const int * a4 = &a1;   ///const data,non-const pointer
int * const a5 = &a1;   ///non-const data,const pointer
int const * const a6 = &a1;   ///const data,const pointer
const int * const a7 = &a1;   ///const data,const pointer
cos12a-21701 回答时间:2016-3-29 12:50:23

签到     
hjf2002 回答时间:2016-3-29 13:08:52
签到签到
23度26分! 回答时间:2016-3-29 13:22:40
我也来签到。
阿莫西林 回答时间:2016-3-29 13:42:13
const关键字至少有下列作用:
(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;
(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;
(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;
(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”
kingsings 回答时间:2016-3-29 13:43:01
签到领金币
suyuping99 回答时间:2016-3-29 13:55:31
1. const 为常量,不被程序更改。
2. 单片机程序中,const常常用于字库的数组前,且将被存储到flash,不是在RAM中。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版