C++在哪里真正发光?

pyg*_*iel 11 c++

我知道C和Python,我正在转向另一种语言用于学习目的.我的问题是我喜欢用要做的事来学习(比如为一些项目做贡献或做一些令人惊奇的事情,而不是无聊的普通代数).

我想听听有关C++闪耀的领域以及我可以在哪里找到有趣的C++编程的建议.(对于字段,我的意思是网络/ GUI编程/算法/游戏...)

我确认我对开源项目/开发感兴趣.

Mat*_* M. 12

在我看来,C++真的很闪耀,只是我还没有找到一种给我自由的语言.

  • C++生成极其紧凑和快速的代码,因此适用于大多数任务,能够在一些汇编代码中无缝修补不够快的小部件.将C代码挂钩到Python中以获得性能并不是那么容易.
  • C++允许我从多种编程范式中进行绘制:元编程,面向对象编程,函数编程; 它们是可用的,我不需要尝试模拟它们中的任何一个来使算法工作.
  • C++允许我使用RAII(保证处理)和Pimpl(二进制兼容性,编译器防火墙)习语的优点编写特别合理且可维护的代码.
  • C++允许我选择何时支付某些东西以及何时不支持.
  • C++允许我使用许多现有的库,并借鉴经验和工作.全世界成千上万的程序员 它需要一些搜索,因为它们没有与编译器捆绑在一起,但Boost使这些日子变得更容易,然后谷歌毕竟是:)

当然存在一些缺点,你获得的自由越多,你就越有可能自己上吊(或者按照流行的类比去拍脚).但是在这么自由之后,我发现很难让自己用另一种语言编程.

到目前为止,C++是我觉得受限制较少的语言,因此尽管存在许多缺陷,但我更喜欢编程.


Ama*_*9MF 10

我将分享我使用该语言的哪些字段以及为什么我使用该语言而不是其他语言.也许你可以决定我的理由是否有资格作为"闪耀".

哪个领域:

设备驱动程序,文件系统驱动程序,GUI开发,算法模块,协议和通信,应用程序框架,数据操作,存储处理程序,系统仿真.

为什么:

  1. 我想编写可在大范围架构中移植的代码.从小型16位嵌入式系统到大型企业平台.这是因为我不喜欢一遍又一遍地解决同样的问题.与其他任何OO语言相比,C++编译器可用于我所针对的更多平台.我确实在非常小的(即8位)系统上失去了这种能力,但我不再花太多时间在那个空间.

  2. 可以编写系统代码(即设备驱动程序,FS驱动程序等),因为它们需要编译为本机代码的语言.通过仔细选择语言功能和使用的库,它几乎可以像C一样紧凑.

  3. 在编译语言中广泛使用,因此可以利用同行经验以及可用的库和源代码.

  4. 长期执行运行(数月到数年)的确定性和可预测行为,因为可以根据应用程序的需要仔细选择内存管理方案.

  5. 对我的客户的可接受性.他们确信工作是可维护的,因为市场上存在大量开发人员.

我希望这有点帮助.


Jer*_*fin 5

IMO,C++的最大优势是能够在几乎任何抽象级别上工作.许多语言提供(或多或少)单一抽象级别.通常很难"下降"到较低的抽象层次(根本).虽然您可以构建更高级别的抽象,但很少有语言提供了让这些部分与其他语言一起使用(或类似)的工具.这可以导致单独的精细和明智的"碎片",但仍然难以组合成一个保持连贯的完整程序.

Ada 95几乎是我能想到的唯一一种在这方面具有大致相似能力的其他语言.在某些方面,它的能力(理论上)更优越.例如,它支持更精确的规范,例如用于连接硬件设备的位布局.这些仍然主要是理论上的 - 虽然C++(如C)缺乏关于编译器如何在结构中布置诸如位字段之类的东西的保证,个别编译器给出了完成工作所需的控制,并且像这样的代码很少是非常便携的任何情况.