| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 905 人关注过本帖
标题:关于c++标准库
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
“实现”,是指具体的细节。比如函数原型,是声明存在这么一个函数,但这个函数到底是如何工作的,具体的代码,却在另外的地方(这是一种信息隐藏的手段),那些具体的代码就是实现,你平时写程序的操作也是这样,写的就是实现。

你的主要问题,是没搞清楚标准库的概念。其实C/C++的工作机制,就是靠的函数,C/C++本身没有什么内置函数,不像别的语言,比如BASIC那样,有具体的函数,比如CHR()这样的函数,是语言自身内置的,属于保留字那样的东西,你不可能写出一个自己的函数也叫CHR(),但C/C++可以,你可以不#include <cstdio>,自己重新写一个printf()函数,实现与标准库中printf()完全不同的功能。这是什么意思呢?意思就是说,C/C++的标准库,其实是别人写好的了一套函数工具箱,供你使用的,你可以用,也可以不用,事实上标准库函数是已经编译好的代码,在你build自己的程序时,这些编译好的模块是链接到你的程序中的,等于别人替你写好了一部分函数。正因为标准库只是一套工具箱,所以很多时候,同样功能的函数,会以不同的形式在不同的地方以不同的面目出现。最典型如取绝对值的函数abs(),如果是有内置函数的语言,一般是只需一个ABS()函数就搞定所有数据类型的,但C/C++不是这样,它针对各种不同的数据类型有不同的函数,比如labs()、fabs()之类,这种名目繁多的函数名称,很容易让人迷乱。不过C/C++的优势也正在这里,由于你可以完全无视这些东西,当不存在,自己重新写一套也是可行的,反而显得非常灵活。其实,只要记住,标准库只是一套经过检验的、好用的函数集合,拿来用就是了,不必一切都自己来。Windows API,或者的别的什么API,如DirectX、OpenGL之类,也不过是更扩展出去的函数库而已,当标准库一样就是了。没有什么纯粹的C/C++编程,不使用标准库和成熟扩展库,C/C++都无法编程了,说这也不是C/C++、那也不是C/C++的人,其实很无知幼稚。

授人以渔,不授人以鱼。
2012-08-27 09:11
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
以下是引用humy在2012-8-27 08:31:32的发言:

恩。。谢谢。。“实现和标准库”在上面的例子我还是只看到了一种。。就是实现标准库。。。标准库规定了接口,写出实际代码就是实现的话,那“标准库”是什么?就是接口?那接口上的只有形参能用到下划线开头的名,那他们在实现代码里也会被用,那这两个不就是一个情况了?。。。。。还有,您解释   实现  说的是“比如”  那就还有其他情况?我看书也看多好多句子有实现这个词,大概意思就是给你一个概念框架,你把内容添上。。那我们自己也有很多这样的工作,那怎么还说我们不能用下划线。。。    总结“实现和标准库”难道就是标准库的实现?
这个是我有点咬文嚼字了。
标准里规定了很多东西,也规定了一些变量或者类的名字,其中有些就是用下划线开头的。你要想实现标准库,那么标准规定了的部分,你必须严格用标准规定的名字。但还有一些标准没说,你自己实现的时候如果要用,那么你也得用下划线开头的名字,但用什么名字标准不管。前就是标准里的部分,后者是实现里的部分。其实不用抠的这么细,就统一都理解成实现也是完全可以的。

我文中的那个“比如”是“例如”的意思。先陈述一个概念,可能比较抽象,再举个具体的例子以帮助理解。
你自己编程主是是使用标准库,而不是实现它。
2012-08-27 13:03
humy
Rank: 2
等 级:论坛游民
帖 子:69
专家分:18
注 册:2012-7-23
收藏
得分:0 
回复 12楼 pangding
谢谢
2012-08-27 22:57
gaoyao469
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2012-7-18
收藏
得分:0 
楼主 你现在学C++  都看些什么书,我也在学。
2012-08-28 23:19
fjk1719
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-11-25
收藏
得分:0 
强悍的人办强悍的事情
2012-09-14 00:40
快速回复:关于c++标准库
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015671 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved