设计和正在完善C++的人,真是天才,我到今天终于明白为什么要引入命名空间了!

HaoGeGe 2001-12-13 01:20:42
...全文
273 26 打赏 收藏 转发到动态 举报
写回复
用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)

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧