人们为什么使用C ++而不是C? [关闭]

(是的,此问题是“基于观点的”,因此,如果您想成为湿毯子,请予以标明,但这是一个严重的问题,访问此站点的人应该有资格回答。)

在同时使用C ++和C之后,我得出的结论是C ++是虚假的希望。我开始使用它,认为它比C更好,更易于使用且功能更强大(当然不牺牲性能),我得出的结论是,每种优势都有劣势,所以最终没有优势更好:

  • 它为您提供了构造函数和析构函数的简单性,但随后您必须担心复制构造函数和赋值运算符的复杂性(现在在现代C ++ move构造函数中)。您定义的每个对象都需要进行大量测试。
  • 您可以避免使用智能指针进行复制,但是随后您不得不担心是使用唯一指针还是共享指针(甚至可能使用老式的原始指针)。
  • 它为您提供了继承和多态性的简便方法,但随后您必须记住要声明析构函数是虚拟的(或泄漏内存)。
  • 它为您提供了异常的简便性(而不是必须检查每个函数调用的返回码是否有错误),但是随后您就不得不担心异常安全性,因为异常可能几乎在任何时候发生(如果您不小心)并导致某些关键代码路径的状态丢失。