建议组织开发一些通用的C++库吧
建议组织开发一些通用的C++库吧
相信大家在学习使用C++的时候会有一些想法,觉得C++有一些不如意的地方。特别是一些常用的功能没有(或者不知道去哪里找)对应的函数,比如最常见的:把数值转换成字符串的功能,必须自己写sprintf或者ostringstream,而Basic里只要一个str函数就解决了,后来我看了boost的lexical_cast,受此启发自己写了个str函数:
inline template<typename T>
std::string str(const T& v0)
{
os::ostringstream result;
result << v0;
return v0.str();
}
以后每次直接使用就方便多了,比如
int i = 30;
cout << "The result is " + str(i) + "." << endl;
据此我把一些常用的Basic的字符串函数都改成C++的(ltrim, trim, rtrim, space等),使用起来非常方便。
不过还有很多东东,非我一个人之力能完成的,所以我希望有人能组织将各种常用功能都开发成库,用的时候最好只要include一个头文件就可以了。
我的一些建议如下:
1:按照GNU协议开发
2:如果已经有现成的库,尽量推荐使用现成的库,如果同一功能存在多个可用库,大家公议决定选一个为标准
3:开发以使用方便易学为第一,代码清析为第二,效率第三
4:使用的界面当然应该是平台无关的,如果具体实现平台相关的话,至少提供linux/gcc windows/vc两个实现。
5:最好能建个专门网站,可用参考http://sourceforge.net/。当然我们只提供C++工程。
我们的目标是让C++一统天下(是不是野心太大了,: p )
现在默认使用的库
stl (hashmap是用stl-port的好还是用vc++7.1里的好?大家探讨探讨,不知道ansi c++委员会有没有得出结论了?)
boost (有些部分如果有更好的库的话就使用更好的库)
loki (替代boost中的smart pointer部分)
greta (替代boost中的正则表达式部分)
blitz (替代boost中的multi-array部分)
现在我希望开发的库:
mad string
常用的字符串处理,除了刚刚说的那些简单的以外,还应该包括诸如unicode转换之类的功能。大家再想想有什么常用的功能没有。
cdbc
数据库处理的统一界面,当然实现会各不相同。先实现最基本的功能,包括添、删、改数据,sql查询当然是直接调用系统dbms的。主要 是可用iterator遍历数据库。
c2ee
我对j2ee一无所知,所以如果说错大家不要笑话,java的成功很大程度上归功与j2ee,那么有没有可能开发出一种c2ee来???
数学库:
包括: 符号计算(包括符号积分),输入一个字符串,得到一个字符串,就这么简单。(输入、输出的格式值得探讨,)
大数运算。(可能已经有现成的库了吧?有没有人推荐一下)
线代,矩阵(boost里有一些,不知道好不好,行家解说一下)
还有什么吗?拓扑?图论?或者别的什么数学分支?
pipe stream
一个符合std::iostream界面的流类,能够直接接受另一个进程的输出作为输入,输入作为输出。(这个应该不难,我正在做windows下的,不知道linux下进程通讯简不简单)
mad dbms
一个简单的数据库管理系统。有时候我们需要简单的数据库管理功能,但是用商业的dbms似乎有用牛刀杀鸡的感觉,这个数据库系统以小巧为主,大小以所有内容一次可以全部读入内存为限,索引就直接用stl的map啊,hash_map啊实现。
大家如果有什么好的建议不妨re啊re,
问题点数:100、回复次数:25Top
1 楼mfs(玩命蚂蚁)回复于 2003-11-04 02:18:55 得分 3
早有这想法,只是水平有限,关注ing!Top
2 楼playmud((猪头流氓)(抵制日货)(热烈庆祝火箭输球))回复于 2003-11-04 03:40:36 得分 3
http://expert.csdn.net/Expert/topic/2422/2422796.xml?temp=.72427
写写这个先Top
3 楼zoohoo(zoohoo)回复于 2003-11-04 08:55:26 得分 3
早就有很多很多这样的库了,老外写的太nb了。such as ACE、pwlib、QT...Top
4 楼MadLee(风里麦笛)回复于 2003-11-04 20:40:13 得分 0
我当然知道肯定有很多这样的库了,所以我一开始就提议“尽量推荐使用现成的库”。但是问题就在于这样的库太多太专了,对于初涉者来说不知道如何找,而且很多库并不符合GNU协议,或者有种种的不足。另外,C++的发展中没有中国人的一席之地也说不过去。
我的建议是专门开一个论坛,分门别类将各式各样的需要列出来,如果有现成值得使用的库,就把现成的库拿来,如果没有就组织开发,如果同类型的库已经有很多了,那么就挑选一个好的推荐给大家。
这些库的要求是:
1:简单易用,初学者能很快上手
2:符合GNU协议
3:符合C++标准的界面(便于跨平台)。
这些库的功能应该包罗万象,比如科学类库,数学方面的应该很多,而物理化学生物方面的库并不多,所以值得开发。另外象统一的数据库操作界面现在还没有。当然要开发一个,至少应该实现最常用的功能封装
具体的组织形式可以参考sourceforge.net,不过它是以开发应用程序为主,而且包含各种语言,而我们要做的是以开发可重用C++源码库为主。
Top
5 楼langwuji(浪无羁)回复于 2003-11-04 21:34:54 得分 10
最好是一个中文处理库,别的我想就不用了,老外的可疑解决很多问题嘛!
c++本来就是让我们大量的使用的三方库的Top
6 楼Jinglihui(雪狐)回复于 2003-11-04 21:45:36 得分 0
先学好学精C++再想这些问题!
走还不稳呢,就想跑Top
7 楼buaaaladdin(阿拉丁的灯)回复于 2003-11-04 21:55:04 得分 21
关注!!
这几天在看java,感觉java的成功几乎完全归功于它的丰富的几乎无所不能的跨平台的类库。
C++里有STL有boost,借助于模板和泛型也是很有优势的。但是数量还是太少了,难以覆盖日常的应用。而且在GUI上,个个平台上的种种标准更是让人头疼,如果有象java的swing一样的统一的API就会方便许多,可是这些却都没有实现。Top
8 楼CsdnPlayer()回复于 2003-11-04 21:59:08 得分 10
回复人: Jinglihui(雪狐) ( ) 信誉:104 2003-11-04 21:45:00 得分:0
先学好学精C++再想这些问题!
走还不稳呢,就想跑
---------------------------------------------------------------------
总有高手在吧?楼主又没说自己做。边做也就是边学嘛。
当然,像我这种初级水平就不参加了,哈哈!Top
9 楼geeksky(§illuSioN§)回复于 2003-11-04 22:00:23 得分 3
我也想,不过没水平Top
10 楼Andy84920(你也不懂)回复于 2003-11-04 23:02:20 得分 0
先学好学精C++再想这些问题!
走还不稳呢,就想跑Top
11 楼bbgbianbaogui()回复于 2003-11-04 23:13:02 得分 3
想过Top
12 楼apogeecsj(skysword)回复于 2003-11-04 23:35:16 得分 3
如果搞得话各位兄弟叫上我哦
123csj-123@163.comTop
13 楼wzcsdn0()回复于 2003-11-04 23:39:14 得分 3
不解UPTop
14 楼5852(我在Cplusplus门外吗,加油)回复于 2003-11-05 07:50:44 得分 3
我也支持 可惜 我的库的理解实在太少了Top
15 楼bing_huo(我是一个演员!)回复于 2003-11-05 08:48:27 得分 0
在程序设计的道路上 每一个人都想飞
但在学会走之前 跑都别想
-------侯sirTop
16 楼Angeleque(小烟)回复于 2003-11-05 10:38:53 得分 3
赞成Top
17 楼leyt(思维机器)回复于 2003-11-05 10:48:27 得分 3
关注Top
18 楼BestYunnan201(毛主席教导我们:好好学习,天天向上)回复于 2003-11-07 20:32:20 得分 3
关注Top
19 楼totti0115(keke)回复于 2003-11-07 21:11:38 得分 5
知道斯卓斯朱夫现在就是在做这个工作呀Top
20 楼sdp(雨尘)回复于 2003-11-07 21:20:06 得分 5
支持!!!!,不过最好先看看MFC
呵~!~~Top
21 楼bbcallen(无心居士)回复于 2003-11-07 21:30:28 得分 10
其实是一个很不错的学习项目Top
22 楼kdush(迷茫过后……还是迷茫……) (love—>kula始终未变)回复于 2003-11-07 22:14:36 得分 3
关注ing!Top
23 楼yaoming007(涛涛)回复于 2003-11-07 22:29:54 得分 0
c ++ stl不就是 了Top
24 楼tnavy666(越晚越精神)回复于 2003-11-07 22:36:21 得分 3
关注关注Top
25 楼MadLee(风里麦笛)回复于 2003-11-07 23:49:48 得分 0
失望,结了吧
Top




