免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 芙蓉
打印 上一主题 下一主题

const,C/C++的第一个败笔 [复制链接]

论坛徽章:
0
81 [报告]
发表于 2008-01-11 20:47 |只看该作者
81楼的,你看清楚78、80楼再说话好不好?
她说的是

用const定义常熟,至少有两个缺点:
1. 兼容性不容enum,比如class内部的常数成员
2. 占用memory空间

我奇怪的是,难道可以不占用吗?
而你说的是用多用少。锱铢必较?我看你是锱铢乱较。

论坛徽章:
0
82 [报告]
发表于 2008-01-11 20:49 |只看该作者
在适当的地方牺牲一点乐趣,换取一点安全,这是值得的.

论坛徽章:
0
83 [报告]
发表于 2008-01-25 11:18 |只看该作者
原帖由 safedead 于 2008-1-8 11:28 发表
一直学不会C++的C语言死忠飘过

可重入的函数不需要const把关

C用得好,干吗还非要学C++

论坛徽章:
0
84 [报告]
发表于 2008-01-29 11:54 |只看该作者
用const的人是吃饱了撑的。给自己找麻烦,也给别人找麻烦。

出于历史原因,很多函数接口里面有const,这没办法。这已经够烦的了,别再添烦了。

[ 本帖最后由 wwwsq 于 2008-1-29 11:55 编辑 ]

论坛徽章:
0
85 [报告]
发表于 2008-01-29 12:40 |只看该作者
原帖由 wwwsq 于 2008-1-29 11:54 发表
用const的人是吃饱了撑的。给自己找麻烦,也给别人找麻烦。

出于历史原因,很多函数接口里面有const,这没办法。这已经够烦的了,别再添烦了。

我很想知道是什么样的历史原因

论坛徽章:
0
86 [报告]
发表于 2008-01-29 19:42 |只看该作者
原帖由 zlbruce 于 2008-1-29 12:40 发表

我很想知道是什么样的历史原因



比如strcpy()函数的第二个参数,就是带const。它就是带const的,已经是陈年旧账,你有什么办法?又改不来。

论坛徽章:
0
87 [报告]
发表于 2008-04-09 22:23 |只看该作者
const的作用, 是让你在写代码时候清楚自己到底在做什么,还有有些时候const常量和宏相比有无法替代的优势,所以你在很多C程序你也能看到const甚至是linux 内核代码
就象很多修饰符对编译器只是个建议,const不过是对程序员的建议,尤其是在大型项目中,忽视const的作用将会是灾难性的,因为你没法保证每个人都和你一样熟悉所有代码

当然对于顶尖的hacker,const是个废物

论坛徽章:
0
88 [报告]
发表于 2008-04-10 08:43 |只看该作者
原帖由 human3000 于 2008-4-9 22:23 发表
当然对于顶尖的hacker,const是个废物

顶尖的 hacker 并不认为 const 是个废物,相反,他们认为很重要。
最近看到一本好书,向大家推荐一下,叫做"Ruminations on C++",是 ISO/ANSI C++ 委员会委员 Andrew Koenig 写的。
这不是一本介绍语法的教程,是一个大师关于C++ 设计思想和编程方法的论述。他告诉你 C++ 的那些特性为什么会存在。

论坛徽章:
0
89 [报告]
发表于 2008-04-10 11:02 |只看该作者
我写汇编的时候咋从来没看到啥const 呢。

论坛徽章:
0
90 [报告]
发表于 2008-04-10 11:24 |只看该作者
const关键字在template应用中确实比较麻烦。不过用好const对提高程序的健壮性非常有帮助
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP