C++和C语言的一点区别
2013-02-21 15:02
190 查看
C++是对C语言的提升,相对C语言C++到底多了些什么?其实,任何C++能完成的功能,C语言都能完成(其它语言未必能完成,比如偏底层涉及到寄存器的,甚至C和C++都无能为力,需要汇编),从功能上来说,二者是等价的。但是一些显而易见的现象是,完成一个功能用C++需要更少的代码(用汇编则是更多的代码)。就以析构函数为例,只要定义一次,在任何地方用到,只需要声明对象,不需要调用析构函数。C语言则需要每一次都调用一下析构功能的函数。其实C++生成的二进制代码体积更大一些,C++能够以更少的源代码得到更多的二进制代码,根本原因是编译器帮助C++生成了代码。C++的编译器要比C语言的复杂很多。再以C++的虚函数为例,在生成对象时,编译器默认的生成一段代码,这段代码把虚表地址复制到对象的首地址。换成C语言,需要把虚函数定义成一个个自己的成员变量,又需要自己一个个赋值到这些变量上。
相关文章推荐
- c++入门(c++与C语言的区别)
- 【面试】C语言与C++的区别
- C语言和C++的区别【完整版】
- C语言C++指针与java中引用的一点对此
- c语言与C++的区别
- C++和C语言的区别
- C语言与C++的联系和区别
- 关于c语言和c++的区别和联系
- C语言与C++的区别
- 结构体:C++和C语言中的结构体的区别
- c++初识,c++与c语言区别。及函数重载,缺省值等等
- C和C++的一点区别
- C++ c++与C语言的区别(空结构体)
- c语言和c++中的&修饰符的区别
- c和c++中使用结构体的一点区别
- C与C++中标准输入实现方式上的一点区别
- C语言与C++与JAVA的区别
- c++高级---c语言中关于运算符优先级和运算符集合顺序的理解(*p++和*++p的区别)
- C++与C语言的区别——C++是对C语言的扩展(一)
- C语言和C++的区别(完整版)