社区
非技术区
帖子详情
设计和正在完善C++的人,真是天才,我到今天终于明白为什么要引入命名空间了!
HaoGeGe
2001-12-13 01:20:42
...全文
284
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)
【NOI】
C++
程序
设计
入门一(认识
c++
)
本篇内容专为初学者量身打造,旨在引领大家轻松踏入
C++
编程的大门。首先从安装和使用适合初学者的集成开发环境Dev
C++
开始帮助大家快速建立编程基础。通过Dev
C++
简易的操作界面、集成编译器以及语法高亮等功能,用户可以便捷地编写和调试代码。文章以人与计算机如何沟通这一核心问题
引入
编程的基本原理,并详细解释了如何利用cin进行数据输入和cout进行结果输出。
C++
11、
C++
14、
C++
17、
C++
20新特性总结(5万字详解)
文章目录
C++
11是什么,
C++
11标准的由来
C++
auto类型推导完全攻略auto 类型推导的语法和规则auto 的高级用法auto 的限制auto 的应用使用 auto 定义迭代器auto 用于泛型编程
C++
decltype类型推导完全攻略exp 注意事项decltype 推导规则decltype 的实际应用汇总auto和decltype的区别语法格式的区别对 cv 限定符的处理对引用的处理总结
C++
返回值类型后置(跟踪返回值类型)
C++
11对模板实例化中连续右尖括号>>的改进扩展阅
C++
11、
C++
14、
C++
17、
C++
20新特性总结(5万字详解)(转载)
C++
11、
C++
14、
C++
17、
C++
20新特性总结
【编程实践】第一章
C++
入门 《
C++
程序
设计
语言》 / By 禅与计算机程序
设计
艺术&ChatGPT
本书是一本全面介绍
C++
编程语言的经典著作,包含了
C++
语言的基本语法和数据类型,面向对象编程的相关知识,以及高级应用和实际应用实例等内容。本书还包含了
C++
的标准库函数和常用工具,以及编程规范和最佳实践等方面的内容,可以帮助读者更好地掌握
C++
编程技术,提高编程水平。在
C++
中,变量和常量都是用于存储数据的,但它们有着不同的特点和用法。变量的定义和使用数据类型 变量名 = 初始值;其中,数据类型指变量存储的数据类型,变量名是标识符,初始值是可选的。变量的使用方式为直接使用变量名即可。
C++
入门之认识
c++
在本篇内容中,我们从计算机的历史入手,介绍了计算机的发展历程和第四代计算机的特点。通过了解 ENIAC 这样的早期计算机,我们认识到计算机技术的巨大进步和其在现代社会中的重要性。随后,我们探讨了计算机的基本组成,包括硬件系统和软件系统,并简要介绍了冯·诺依曼架构和图灵机这两个重要的理论模型。接着,我们详细介绍了
C++
语言的基础知识,包括
C++
的起源、特点及其在 NOI 竞赛中的应用。通过 Dev-
C++
集成开发环境,我们体验了
C++
编程的基本流程,从创建源代码文件到编译、运行和调试程序。
非技术区
15,447
社区成员
58,120
社区内容
发帖
与我相关
我的任务
非技术区
C/C++ 非技术区
复制链接
扫一扫
分享
社区描述
C/C++ 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章