C语言部分(2)
4. c 与 c++ 的区别:(个人见解,请批评指正)
虽然学过这两种语言,但是想总结这个真是不容易,暂时想到这些,就想别人说的,c++没有实际用上五六年是不会深入了解的,希望各位大牛能帮助我完善这篇博客......
a) 从程序语言的角度,c语言是面向过程的语言,注重算法与数据结构,进行模块化编程;C++ 在c语言的基础上,增加了面向对象成分,c++程序应当先考虑如何构造对象模型
b) 从语法的角度,c++是c语言的超集,c++支持c语言的所有语法,包括函数,宏,结构体,联合体,类型定义等等,c++ 对语法进行了扩充,增加了类的概念,以及类的继承,函数重载,运算符重载,多态语法,泛型,类成员访问限制,同时对于结构体,c++支持成员函数,布尔类型从c语言的_Bool改成了bool; 对流的控制进行了封装,增加了<< 以及>> 运算符,引入了名字空间的概念,在新的标准中,还引入了智能指针,c++的许多库也为c++提供了许多新的特性,如stl库中的各种数据结构的封装:向量,链表,队列……
c) c语言源文件后缀一般为c,c++一般为cpp
d) c++有更严格的类型检查,比如不能直接将void * 转化为其他类型
e) c 与 c++ const意义有所变化,首先c++中能修饰成员函数,
再者,c默认const是外部连接,而const是内部连接(《think in c++》)