如何解决C和C ++之间有什么关系更多技术方法
|| 我正在阅读《 C和C ++之间的关系》,并对对这个问题的技术性了解感兴趣。 例如,如果您想使用C ++中的线程,您是否会(假设使用Linux平台)仅使用pthreads?我知道C ++具有STL和Boost库可以填补很多空白...但是C ++程序员通常将库用于C代码吗? 我正在尝试决定是否值得学习C ++,因为我已经知道C(承认学习C不是先决条件,并且可能是一个缺点),但是我不确定C ++和C库如何绑在一起...解决方法
通过C ++ 03,是的,您可能会使用pthreads。 C ++ 11的当前草案在标准库中内置了线程,因此您可能会改用它(尽管它紧密基于pthread,所以它们之间几乎没有实际区别)。
但是,总的来说,是的,直接从C ++使用C库很容易,并且在没有C ++库的情况下,通常都使用它们。因此,即使有C ++库,某些人有时还是更喜欢使用C库。
, C库在C ++中不断使用。有时它们被包裹在一个更好的惯用C ++接口中,有时却没有。例如,许多围绕C套接字API的瘦C ++包装器,但是人们还是经常直接使用套接字。我一直都在C ++中直接使用各种POSIX函数。
不过,您确实需要确保已经了解C(尝试将C ++字符串直接传递给需要C字符串的C函数的新C ++程序员的数量)。而且它需要时间来学习执行某些特定操作的最佳方法(该C函数需要一个指向数据数组的指针吗?只需为其提供C ++向量的第一个元素的地址,而无需手动分配/构建一个新数组)。
, 如果您只关心C和C ++库的互操作性。
http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B
是一个很好的链接。
如果您从未做过面向对象的编程,建议您尝试C ++。两者都是图灵完整的语言,没有什么C ++不能做到C已经不能做到。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。