c和c++区别(未整理)

学习完C语言和c++比较一下他们之间的区别:

c++是c语言的基础上开发的一种面向对象的编程语言,应用十分广泛,按理说c++可以编译任何c的程序,但是两者还是有细微的差别。

c++在c的基础上添加了类,c是一种结构化的语言,他的重点是算法和数据结构。c++要考虑如何构建一个对象模型

C语言是面向过程的语言,c++是面向对象的语言,面向对象是一种对现实世界的理解和抽象的方法,需要将要素转换为对象进行问题处理。

在动态内存管理上的方法也有不同。C语言使用malloc和free来进行,而c++是使用new和delete来分配。

  • malloc和free是函数,new和free是运算符。由于库函数不在编译器的管理范围内不可以在构造和析构函数中加入所以要使用new和delete来分配和释放内存.
  • malloc是从堆上开辟空间,new是从自由存储区来开辟空间(堆和静态存储区)
  • malloc对开辟的空间大小有严格指定,new只需要对象名
  • malloc如果开辟的内存太小,可以使用relloc来换大的内存,但是new没有直关的方法来整理。

c++含有类的概念,c中可以使用struct来等同的使用,但是struct成员默认是public,类默认是private。

c++支持重载

c++有引用C没有。

  ①、指针有自己的一块空间,而引用只是一个别名。

  ②、使用sizeof查看一个指针大小为4(32位),而引用的大小是被引用对象的大小。

  ③、指针可以是NULL,而引用必须被初始化且必须是对一个以初始化对象的引用。

扫描二维码关注公众号,回复: 7429246 查看本文章

  ④、作为参数传递时,指针需要被解引用才可以对对象进行操作,而直接对引用的

  修改都会变引用所指向的对象。

  ⑤、指针在使用中可以指向其它对象,但是引用只能是一个对象的引用,不能被修改。

  ⑥、指针可以有多级指针(**p),而引用只有一级。

  ⑦、指针和引用使用++运算符的意义不一样。

参考地址:https://www.cnblogs.com/ybf-yyj/p/9522671.html

猜你喜欢

转载自www.cnblogs.com/fanhua666/p/11626630.html