一道C++题目,求详细解答

下列语句中,错误的是()。A.constintbuffer=256;B.constinttemp;C.constdouble*point;D.constdouble*rt... 下列语句中,错误的是( )。
A.constint buffer=256;
B.constint temp;
C.constdouble *point;
D.constdouble *rt=new double(5.5);
展开
 我来答
yueting3527
2013-11-21 · TA获得超过321个赞
知道答主
回答量:40
采纳率:0%
帮助的人:16.3万
展开全部
答案是B,因为常量在定义后就不能被修改,所以定义时必须初始化。
C正确是因为这里的point是一个指向double类型的const对象的指针,const限定了point指针所指向的对象的类型,而并非point本身。也就是说,point本身并不是const。在定义时不需要对它进行初始化。如果需要的话,允许给point重新赋值,使其指向另一个const对象。但是不能通过point修改其所指对象的值。
我是永远比拿
2013-11-21
知道答主
回答量:15
采纳率:0%
帮助的人:22.8万
展开全部
B是错误的,因为const类型后的数一定要有定义(因为是不可修改的宏定义),所以就只剩B,C了,而指针的宏并不需要定义,所以选B!
哪里不清楚要追问哦~
追问
什么叫宏
追答

就是宏定义 也就是const

一个类型(比如说int),加上了const后就变成了宏定义的值了(constint),之后在程序中就不能被改变,如:

const int a=8;
a=3;

就是错的

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式