你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
(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中。