免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3683 | 回复: 14
打印 上一主题 下一主题

C++ 编程时,C 库 和 C++ 库 的选择。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-13 21:08 |只看该作者 |倒序浏览
  • 不要用stdio.h中的函数,例如printf()。学会用输入输出流来代替,它们是安全类型和可扩展类型,而且功能也更强。我们在这上面花费的时间肯定不会白费。一般情况下都要尽可能用c++中的库而不要用C库。
  • 不要用C的内部数据类型,虽然 C++ 为了向后兼容仍然支持它们,但它们不像 C++ 的类那样强壮,所以这会增加我们查找错误的时间。


有人说了上面的观点,我比较笨,有聪明人说下自己的观点?


论坛徽章:
0
2 [报告]
发表于 2012-06-13 21:10 |只看该作者
凡是建议在产品代码中使用 iostream 都可以判断为外行。

论坛徽章:
0
3 [报告]
发表于 2012-06-14 09:01 |只看该作者
iostream不支持路径中带中文,据说可以修改什么字符集改正,但是在全局范围内,我没有成功过,可能比较挫。。。

另外,iostream的格式控制和c比恶心的不是一点半点。。。

论坛徽章:
0
4 [报告]
发表于 2012-06-14 18:36 |只看该作者
我是支持使用C库。

论坛徽章:
0
5 [报告]
发表于 2012-06-14 20:59 |只看该作者
还有多少地方会用到这种控制台式的输出?即便是用到,避开复杂的部分呗。
还有什么叫“C的内部数据类型”?

论坛徽章:
0
6 [报告]
发表于 2012-06-14 23:39 |只看该作者
个人觉得 iostream 也很好用,就看你怎么去用它。

缺点是格式输出比较麻烦

优点是可以发挥C++的泛型编程和运算符重载的优势

如果实在觉得格式输出麻烦,可以自己写一个格式控制的类,照样支持可配置的格式输出。

anystream << text_control("{mmm-dd-yy} {hh:mm:ss:mmm} {0} is down!") << date  << time << "machine" << endl;

实现这样一个功能并不是不可能吧,而且支持所有的stream。text control 里面的文本格式可以自己定义,只要你能解析出来。

中文路径的问题倒没碰到过。好像要调用一条语句 std::cout.imbue(std::locale("chs")); locale里面的字符串还得查一查,我不太确定。

论坛徽章:
208
巨蟹座
日期:2013-09-02 09:16:36卯兔
日期:2013-09-02 20:53:59酉鸡
日期:2013-09-05 21:21:45戌狗
日期:2013-10-15 20:51:17寅虎
日期:2013-10-18 21:13:16白羊座
日期:2013-10-23 21:15:19午马
日期:2013-10-25 21:22:48技术图书徽章
日期:2013-11-01 09:11:32双鱼座
日期:2013-11-01 20:29:44丑牛
日期:2013-11-01 20:40:00卯兔
日期:2013-11-11 09:21:32酉鸡
日期:2013-12-04 19:56:39
7 [报告]
发表于 2012-06-15 09:11 |只看该作者
tarside 发表于 2012-06-13 21:08
  • 不要用stdio.h中的函数,例如printf()。学会用输入输出流来代替,它们是安全类型和可扩展类型,而且功 ...

  • A叫你用他的库
    B也叫你用他的库
    A说B不行
    B说A效率低

    你要用谁的?

    论坛徽章:
    1
    技术图书徽章
日期:2014-03-06 15:32:30
    8 [报告]
    发表于 2012-06-15 10:38 |只看该作者
    C++老爹说,要带着善意的怀疑态度。

    就是如果解释不通它,即使权威说的又能怎样?

    论坛徽章:
    0
    9 [报告]
    发表于 2012-06-15 12:01 |只看该作者
    iostream 虽然有缺点,但在稳定性上相对稍微好些

    论坛徽章:
    0
    10 [报告]
    发表于 2012-06-15 12:49 |只看该作者
    支持C的库,C++ 的库,debug起来让人忍不住去看库的源代码,一看源代码,一个头两个大
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP