你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
【3.29签到】每日问答——关键字const有什么含意?
[复制链接]
苏柚
提问时间:2016-3-29 08:35 /
阅读主题, 点击返回1楼
赞
0
收藏
0
评论
95
分享
发布时间:2016-3-29 08:35
请先
登录
后回复
95个回答
荣丰宇
回答时间:2016-3-29 11:41:07
a0a.1 32b0c
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显然不符合编程者的初衷,也没有任何意义。
赞
0
评论
回复
支持
反对
awficel1
回答时间:2016-3-29 11:59:11
a1024a.1 32b0c
签到签到
赞
0
评论
回复
支持
反对
Fenglo
回答时间:2016-3-29 12:03:45
a0a.1 32b0c
签到签到签到
赞
0
评论
回复
支持
反对
飞狼老大
回答时间:2016-3-29 12:14:40
a0a.1 32b0c
const关键字至少有下列作用:
(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;
(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;
(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;
(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”
赞
0
评论
回复
支持
反对
那就地方
回答时间:2016-3-29 12:30:22
a0a.1 32b0c
const定义的变量不能被第二次赋值
赞
0
评论
回复
支持
反对
梦想家旅行家
回答时间:2016-3-29 12:40:37
a1024a.1 32b0c
签到。。。。。。。。。。。。。
赞
0
评论
回复
支持
反对
disheng4688
回答时间:2016-3-29 12:40:39
a1024a.1 32b0c
签到签到
赞
0
评论
回复
支持
反对
北松
回答时间:2016-3-29 12:44:28
a1024a.1 32b0c
签到,学习
赞
0
评论
回复
支持
反对
周玄尊
回答时间:2016-3-29 12:48:08
a0a.1 32b0c
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
赞
0
评论
回复
支持
反对
cos12a-21701
回答时间:2016-3-29 12:50:23
a0a.1 32b0c
签到
赞
0
评论
回复
支持
反对
hjf2002
回答时间:2016-3-29 13:08:52
a1024a.1 32b0c
签到签到
赞
0
评论
回复
支持
反对
23度26分!
回答时间:2016-3-29 13:22:40
a0a.1 32b0c
我也来签到。
赞
0
评论
回复
支持
反对
阿莫西林
回答时间:2016-3-29 13:42:13
a0a.1 32b0c
const关键字至少有下列作用:
(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;
(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;
(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;
(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”
赞
0
评论
回复
支持
反对
kingsings
回答时间:2016-3-29 13:43:01
a0a.1 32b0c
签到领金币
赞
0
评论
回复
支持
反对
suyuping99
回答时间:2016-3-29 13:55:31
a0a.1 32b0c
1. const 为常量,不被程序更改。
2. 单片机程序中,const常常用于字库的数组前,且将被存储到flash,不是在RAM中。
赞
0
评论
回复
支持
反对
1
2
3
4
5
6
7
/ 7 页
下一页
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
(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显然不符合编程者的初衷,也没有任何意义。
const关键字至少有下列作用:
(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;
(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;
(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;
(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”
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
签到
(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;
(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;
(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;
(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”
2. 单片机程序中,const常常用于字库的数组前,且将被存储到flash,不是在RAM中。