C++标准库能做哪些事?

hhddzz 2011-04-19 12:13:57
初学C++
只学会了一些基本语法
完全不了解C++标准库能做哪些事,不能做哪些事
一般的书也不怎么讲这方面的内容

感觉C++的选择空间太大了,C标准库,C++标准库,MFC框架,WIN32API等等
如果只学C++标准库、标准模板库和boost,能够完成大部分需求吗?
比如文件(系统)操作、字符串、线程、网络、XML、打印、内存管理

比如在WINDOWS平台下,创建、删除,查找和读取文件,大家是用C++标准库还是用WIN32 API呢?
使用多线程的时候,是使用boost中的线程库呢还是用WIN32 API的相关函数呢?
如果要访问网络,C++标准库(包括boost)中是否有可用的类库呢?
如果只考虑自己的应用程序(也就是不考虑外挂,修改器之类要访问其他进程内存的情况),WINDOWS提供的一些内存管理函数,比如HeapCreate、CopyMemonry、VirtualAlloc这些用得上吗?


...全文
314 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhddzz 2011-04-21
  • 打赏
  • 举报
回复
我在网上搜了一些资料
发现很多人抱怨标准库不好用
比如std::string效率低,功能少
stringstream有内存泄露等等
(都是在网上看到的,我也不知道究竟是不是)
pathuang68 2011-04-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hhddzz 的回复:]
那就你的个人经验来看
在文件访问、线程、网络方面,标准库有实现WIN32 API公开的大部分功能吗
>> 应该是的,但也有很多没有没有实现比如CreateWindow,FindWindow这样的WIN32 API函数都没有实现(非文件访问、线程、网络方面)。

特别是像线程这些,不管用什么库都需要一定程度的学习,万一辛辛苦苦学完boost的线程库之后发现用起来并不比WIN32 API方便多少,有些功能还没法实现,那样岂不是很郁闷
>> 这个应该不是问题。boost线程库还是很好的,而且可以跨平台。

我就是觉得C++选择空间太大了,而熟悉甚至精通一套类库怎么都是有成本的
所以在选择的时候也就需要慎重的考虑
>> 话说得虽然有道理,但是要知道,没有一个东西是万能的。比如说,假定你很熟悉WIN32API,
>> 但是某天领导说咱们要在Linux平台上开发,这时候WIN32API对你来说,就一点价值都没有了。
>> 因此,如果要在Linux平台上开发,你可能就又需要熟悉Linux平台提供的一些特性了。你付出了学习
>> WIN32API的代价,但在这个项目中的确没有什么价值,但你能说以前付出学习WIN32API的代价就白
>> 费了么?说不定那天,另外一个项目又要在Windows平台上开发了呢?

>> 相对而言,标准的东西适应性自然是最好的,但特定平台上的特定功能未必包括。
>> 有时候,代价是必须要付出的。
hhddzz 2011-04-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 pathuang68 的回复:]
感觉C++的选择空间太大了,C标准库,C++标准库,MFC框架,WIN32API等等
如果只学C++标准库、标准模板库和boost,能够完成大部分需求吗?
比如文件(系统)操作、字符串、线程、网络、XML、打印、内存管理
>> 打印好像不行,其他的应该可以。

比如在WINDOWS平台下,创建、删除,查找和读取文件,大家是用C++标准库还是用WIN32 API呢?
>> 两者都有人用。……
[/Quote]
那就你的个人经验来看
在文件访问、线程、网络方面,标准库有实现WIN32 API公开的大部分功能吗
特别是像线程这些,不管用什么库都需要一定程度的学习,万一辛辛苦苦学完boost的线程库之后发现用起来并不比WIN32 API方便多少,有些功能还没法实现,那样岂不是很郁闷

我就是觉得C++选择空间太大了,而熟悉甚至精通一套类库怎么都是有成本的
所以在选择的时候也就需要慎重的考虑
xunxun 2011-04-19
  • 打赏
  • 举报
回复
XML不知道标准库里有没,但是有非常多的第三方库
pathuang68 2011-04-19
  • 打赏
  • 举报
回复
感觉C++的选择空间太大了,C标准库,C++标准库,MFC框架,WIN32API等等
如果只学C++标准库、标准模板库和boost,能够完成大部分需求吗?
比如文件(系统)操作、字符串、线程、网络、XML、打印、内存管理
>> 打印好像不行,其他的应该可以。

比如在WINDOWS平台下,创建、删除,查找和读取文件,大家是用C++标准库还是用WIN32 API呢?
>> 两者都有人用。
使用多线程的时候,是使用boost中的线程库呢还是用WIN32 API的相关函数呢?
>> 两者都有人用。
如果要访问网络,C++标准库(包括boost)中是否有可用的类库呢?
>> 有的
如果只考虑自己的应用程序(也就是不考虑外挂,修改器之类要访问其他进程内存的情况),WINDOWS提供的一些内存管理函数,比如HeapCreate、CopyMemonry、VirtualAlloc这些用得上吗?
>> 基本上不用

以上回答,仅供参考
冬冬冬 2011-04-19
  • 打赏
  • 举报
回复
其实可以学习API函数……………… 标准库也是有读写文件等操作的
luciferisnotsatan 2011-04-19
  • 打赏
  • 举报
回复
C++ 标准程序库 这本书就是讲标准库能做哪些的。这书有800页。
MFC框架,WIN32API这些要是打印出来,不知能打多少页了。
关键就是,把基础学好,了解些常用的知识。然后就是遇到问题,知道如何去解决(如查MSDN)
七夜未央 2011-04-19
  • 打赏
  • 举报
回复
眼下是STL必须掌握

boost是标准库的升级版,功能增加了不少

但前提是你要先把STL玩转了
Defonds 2011-04-19
  • 打赏
  • 举报
回复
先系统了解一下,然后用到什么,再深入研究:
C++ Primer Fourth Edition(中英文对照阅读版).chm
huer0625 2011-04-19
  • 打赏
  • 举报
回复
用到什么学什么。

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧