20.C++和C语言的区别

20.C++和C语言的区别

  • C++中new和delete是对内存分配的运算符,取代了C中的malloc和free。

  • 标准C++中的字符串类取代了标准C函数库头文件中的字符数组处理函数(C中没有字符串类型)。

  • C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。

  • C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。

  • 在C++中,允许有相同的函数名,不过它们的参数类型不能完全相同,这样这些函数就可以相互区别开来。而这在C语言中是不允许的。也就是C++可以重载,C语言不允许。

  • C++语言中,允许变量定义语句在程序中的任何地方,只要在是使用它之前就可以;而C语言中,必须要在函数开头部分。而且C++不允许重复定义变量,C语言也是做不到这一点的

    这是因为C++语言中引入了命名空间(namespace)的概念,可以将变量定义放在命名空间中,从而避免了变量名冲突的问题。而C语言中没有命名空间的概念,为了避免变量名冲突,只能将变量定义放在函数开头部分,这样可以保证变量名的唯一性。另外,C++语言中还引入了类的概念,类中的成员变量也可以在任何地方定义,但是必须在类的作用域内。
    
  • 在C++中,除了值和指针之外,新增了引用。引用型变量是其他变量的一个别名,我们可以认为他们只是名字不相同,其他都是相同的。

  • C++相对与C增加了一些关键字,如:bool、using、dynamic_cast、namespace等等

posted @ 2023-07-03 21:18  CodeMagicianT  阅读(85)  评论(0编辑  收藏  举报