C++和C的区别
1.C是面向过程的语言,C++是面向对象的语言,因此C++语言不仅有类和对象以及继承多态这样的OPP语言必备的内容,并且C++还支持模板,运算符重载、智能指针等,还有非常强大的设计模式,例如工厂模式、观察者模式等,这些都是C语言不支持的。
2.输入输出的区别。c输入输出时需要考虑格式,但C++不需要,直接输入输出就好
以输出为例:
int main()
{
int a = 10;
double b = 10.28;
char c = 'A';
printf("%d %lf %c\n", a, b, c); //C方式输出
cout << a << " " << b << " " << c << endl; //C++方式输出
return 0;
}
3.引用。C语言中“&”有取地址符和与运算的用法,而C++中&还有引用的用法
4.在 C++ 中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline 修饰符,表示为内联函数。
5.在C语言中根据函数名来区分函数,而C++用函数原型(返回类型、函数名、参数列表)来区别函数,所以C++是支持函数重载的,而C不行。
6.动态内存管理。C语言通过malloc和free来进行堆内存的分配和释放,而C++是通过new和delete来管理堆内存的。
7.C++还支持namespace名字空间作用域,可以让用户自己定义新的名字空间作用域,避免全局的命名冲突问题。