社区
非技术区
帖子详情
设计和正在完善C++的人,真是天才,我到今天终于明白为什么要引入命名空间了!
HaoGeGe
2001-12-13 01:20:42
...全文
287
26
打赏
收藏
设计和正在完善C++的人,真是天才,我到今天终于明白为什么要引入命名空间了!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
26 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ifrank
2001-12-17
打赏
举报
回复
我还原以为是纯粹象java的package借鉴的呢,呵呵
hehe214
2001-12-15
打赏
举报
回复
呵呵
longzhifang
2001-12-15
打赏
举报
回复
长知识了
谢谢
HaoGeGe
2001-12-14
打赏
举报
回复
我没用过java所以也不知道他的包.
但是我可以肯定命名空间和泛型有着必然的联系.
思考是一种生活态度.代表着积极向上.
正因为C++首先是一种思想,然后是一种语言,
所以我们在思考的层次,范围,深度上,也应该和其他语言区别开来.
没有命名空间就无法引入泛型编程.
Scott Meyers是个保守主义者,他恨不得把STL也赶出C++
但是,Bjarne Stroustrup毕竟看到了泛型编程的光辉前景,
他让C++成为了泛型编程的最佳工具,是非常明智的!
这也让C++本身成为了一种崭新强大的语言!
遥遥领先!
遥遥领先!
遥遥领先!
ifrank
2001-12-14
打赏
举报
回复
java的包和命名空间有什么大的异同点?
peifang
2001-12-14
打赏
举报
回复
我也觉得搞笑,没有必要神化它。不是什么东西都需要上升道理高度。
halfdream
2001-12-14
打赏
举报
回复
还得再继续想想.路漫漫....
ed9er
2001-12-14
打赏
举报
回复
搞笑!
babysloth
2001-12-14
打赏
举报
回复
奇怪,命名空间怎么跟泛型扯上关系了?
Java的包也是一种类似的机制,Java没有泛型吧?
不明白,什么是真正的顿悟?是不是想太多,想太复杂了?
HaoGeGe
2001-12-14
打赏
举报
回复
记得大三时(94年)第一次接触C++从张国峰的那本
也体会不到什么.
ttoomm
2001-12-14
打赏
举报
回复
`
HaoGeGe
2001-12-14
打赏
举报
回复
让我们回到原点,想想泛型编程的核心是什么.
是算法独立于数据结构,他通过这样的机制来实现代码重用.
这和OOP的代码重用是完全不同.
那么也就是说,算法不能依存于任何数据结构.
但是我们也不能让算法,变成撒开了的豆子,
我们需要一个东西他可以把算法的作用域进行限定,
但是他又不能是数据结构.
想想如果我们用类的静态成员的方式去封装算法的话,
那我们的算法就将和这个类存在割舍不开的关系.
然而,这就和泛型编程相矛盾了.
于是,C++的天才们就设计出来了一个满足这样
要求的东西.
哈哈,C++首先是一种思想,然后是一种语言,
真是相对其他语言来说,博大精深啊!
hg0001
2001-12-14
打赏
举报
回复
学而时习之,不亦说乎!有朋自远方来,不亦悦乎!不知而不愠,不亦君子乎?
babysloth
2001-12-14
打赏
举报
回复
不用谢。
yug
2001-12-14
打赏
举报
回复
学习学习
hahaha88
2001-12-14
打赏
举报
回复
不要光一个人顿悟啊!?为什么要用命名空间啊?能不能给我们讲讲?嘻嘻
我一看到别人顿悟,我就非常着急:这个差距不是拉的更大了嘛!
我还没有弄懂,别人已经顿悟了,唉。。。哈哈哈哈哈
HaoGeGe
2001-12-14
打赏
举报
回复
谢谢您!
babysloth
2001-12-14
打赏
举报
回复
不敢当,C++也不见得比BASIC高一等,那要看你的评价标准。
从易学易用的角度来说,BASIC就是要高一等。
D&E大概说了这些:
我们都知道C++里的extern "C" {...}
在C++设计之初,Stroustrup博士就考虑过extern XXX {...}来实现命名空间,不过没有实现。
1991年,Microsoft的Keith Rowe提出bundle XXX {...};作为命名空间
后来又有人提出 :: XXX :: {...};的方式。
虽然这两者都没有被接纳为标准,但基本的语法结构以及操作符::却已固定下来。
1993年7月C++标准正式接纳了namespace,11月决定在标准库中使用namespace。
STL出现的标志是Alexander Stepanov和Meng Lee于1994年8月在HP实验室的技术通讯上发表The Standard Template Library,后来提交给C++标准委员会。
HaoGeGe
2001-12-14
打赏
举报
回复
无缘读过D&E,
关于Stroustrup博士在里面清楚地写明了namespace的设计动机,还望不吝赐教之.
你误会我了,我并不认为用C++的人比用Basic的高一等.
我只是认为C++比Basic高一等
babysloth
2001-12-14
打赏
举报
回复
每个人都有自己的看法,不奇怪。
但是我建议您看看D&E,Stroustrup博士在里面清楚地写明了namespace的设计动机。
命名空间与泛型没有必然联系。
胡思乱想不是积极向上。
C++首先是一种语言,包含了很多思想。
用C++的人并不比用Basic的高一等,不要自欺欺人。
Scott Meyers是C++顶级大师,不是保守主义者,他才出了一本Effective STL。
C++不见得是表述泛型最好的工具,虽然现在算是,但以后一定有更好的。
加载更多回复(6)
C语言笔记01(7.15-7.18)
C语言基本知识点思维导图
【智能汽车竞赛】摄像头组-长春理工大学-天狼五号技术赛方案.docx
【智能汽车竞赛】摄像头组-长春理工大学-天狼五号技术赛方案.docx
MATLAB中计算可达矩阵的实现方法
资源下载链接为: https://pan.quark.cn/s/abbae039bf2a 请用MATLAB编程实现从邻接矩阵计算可达矩阵。
hadoop-mapreduce-client-jobclient-2.7.3.jar中文文档.zip
1、压缩文件中包含: 中文文档、jar包下载地址、Maven依赖、Gradle依赖、源代码下载地址。 2、使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 3、特殊说明: (1)本文档为人性化翻译,精心制作,请放心使用; (2)只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; (3)不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 4、温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件。 5、本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册。
jetty-server-9.4.44.v20210927.jar中文文档.zip
1、压缩文件中包含: 中文文档、jar包下载地址、Maven依赖、Gradle依赖、源代码下载地址。 2、使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 3、特殊说明: (1)本文档为人性化翻译,精心制作,请放心使用; (2)只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; (3)不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 4、温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件。 5、本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册。
非技术区
15,447
社区成员
58,120
社区内容
发帖
与我相关
我的任务
非技术区
C/C++ 非技术区
复制链接
扫一扫
分享
社区描述
C/C++ 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章