论坛首页 编程语言技术论坛

感觉C++的STL就是鸡肋啊

浏览 27657 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (5)
作者 正文
   发表时间:2012-03-17  
强强爱妍妍 写道
jinti 写道
强强爱妍妍 写道
给你一个char *的参数,然后你要传递给使用std::string类型的接口,这样不得不从char *转到string吧? char *允许NULL, 为啥std::string要抛个异常? 脑子都给异常吃了! CString就很好,它知道我们给它NULL的意思表示空字符串.


:) 在 C++中,为一个变量赋NULL,那代表这个变量是指针。

std::string val = "";或是
std::string val; 都可以。



你没看懂我的意思哇. 以你的例子说,val用一个char *类型的参数来初始化. 这时必须检查这个char *参数是否为NULL.

void foo(char* bar)
{
    //当bar是NULL的时候就悲剧了
    std::string s = bar;
    ...
}



所有使用指针的地方,必须先检查。这还要提醒!
0 请登录后投票
   发表时间:2012-03-17  
evanmeng 写道
Elminster 写道
自己实现一套 string 、链表和其他数据结构?在有 STL 的前提下这太蛋疼了 ⋯⋯


一點都不蛋疼,dll-export一個模板類風險太大了。

dll export末班类,你确信是好的做法吗?
0 请登录后投票
   发表时间:2012-03-17  
evanmeng 写道
Elminster 写道
自己实现一套 string 、链表和其他数据结构?在有 STL 的前提下这太蛋疼了 ⋯⋯


一點都不蛋疼,dll-export一個模板類風險太大了。

你确定你理解模板是怎么用的吗?模板类还要dll export,
0 请登录后投票
   发表时间:2012-03-17  
chunquedong 写道
STL也太简陋了,看看Java的String上有多少方法。

这个批评确实没有办法反驳!
0 请登录后投票
   发表时间:2012-03-17  
linrulong2005 写道
c++拥有不完善的面向对象思想 个人觉得 这玩意儿有一天会离我们远去

是不是把所有东西都弄成对象,类似与Java这样的,就叫完善了。就完美了?
世界本来就是多元的,试图用面向对象去解决所有的问题才是错误的思路,是一种美好的愿望,可惜世界不是那么简单的。
如果世界这么简单,我们就不会需要各种各样的数学了!
0 请登录后投票
   发表时间:2012-03-17  
night_stalker 写道
C++就老是怀疑C不好, 结果做出来更不好.

什么叫老是怀疑,是肯定的觉得C有不足。才要去改进,当然搞的国语复杂了一点,但是也确实有很多好的东西引入,这是不能否认的。
0 请登录后投票
   发表时间:2012-03-17  
fanasy 写道
强强爱妍妍 写道
std::string s = NULL;

这tmd会抛异常,无形中增加了很多参数check的代码,气愤!


所以有人推荐用0不用null


这不是NULL和0的问题,是完全错误的问题,haha
0 请登录后投票
   发表时间:2012-03-28  
C++就是搞得太复杂了,偏特化的引入导致各种乱七八糟用法全来了。虽说C++功能强大,无所不能,但是得承认在很多场合,C++并非理想的选择。C++开发的项目产品化周期太长,这个语言迟早要被历史淘汰,只是目前还没有理想的替代语言罢了!
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics