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

【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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版