C++-为什么c++要将操作系统的API封装进自己的类中?
很多函数 在系统中都可以直接调用
而c++却把它加入到其内部
做的不过也是封装下 换个名字归根结底 还是用那个api
尤其是 c++11又引入了 线程类 及互斥量 之类的东西
除了 代码直接copy到其他平台 可以直接运行
我想不出 还有什么其他优点 促使系统函数 逐渐被语言所封装
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
如果把windows平台的工程移植到linux下,没有使用类库,而是调用了windows API的话,那就有的做了。。。
如果没有平台移植的需求,个人认为都用c++类库也便于交流。。
有原因是为了统一接口,比如说创建一个进程,windows是用CreateProcess,linux下面就是fork。C++可以统一封装定义一个CPP_CreateProcess(自己说的名字)之类的函数,就可以实现跨平台的功能。
跨平台就已经是最大的优点了。统一接口,使它们成为语言的一部分。
这样做才能更好地移植,其实不只C++,所有语言都会这么做的,否则谁肯用那样的语言呢?每次移植大规模重构吗?
当然是为了能在类似的使用环境下复用噻,一般有经验的程序员自己封装的常用工具有一大堆。
跨平台就是最大的优点了啊
而且有些封装之后的确用的方便,毕竟Windows API是用C开发的,不是那么面向对象。