C++基础复习
一、 C++与C的比较:
C语言是一个结构化语言,它的重点在于算法和数据结构,C语言的设计首先要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到的输出(或实现过程(事物)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事物)控制。
所以C语言和C++的最大区别在于它们解决问题的思想不同,一个面向过程一个面向对象。
C++对C的“增强”,表现在六个方面:
1、类型检测更为严格。
2、增加了面向对象的机制。
3、增加了泛型编程的机制(Template)
4、增加了异常处理。
5、增加了运算符重载。
6、增加了标准库模板库(STL)。
二、C++基础复习
1、 C++相比C多了个bool的基础类型,且由于C++引入标准库,有了string,其实与char * 一样的。此外提到的wchar_t 是wide character 占16位2个字节。
2、C++中输出语句,引入using namespaced std, 所以输出cout<<...<<endl; endl表示“\n”换行。
3、const常量,和java的final类似是不能修改的变量。
4、for(int i = 0 ; i<3 ; i++) 可以在循环的时候定义赋值。
5 new delete关键字。new与C中的malloc和java的new类似是申请分配内存的,返回对象申请的内存的首地址。 delete则是释放申请的空间。
C: struct person *p =(person *)malloc(sizeof(person));
C++: person p =new person ;
释放控件:
delete p;
6、&的用法:
1、与操作,是二进制相与的位运算.10&1 = 0;
2、表示内存的地址值。int a =3; int *p = &a;
3、表示引用。例:
int x= 10;
int &abc = x; // 相当于给x去了个别名abc,abc与x共用一块内存空间,改变abc的值 x的值也会改变。
abc = 20;//x的值也会变成20;
7、占位符:
newline \n alert(bell) \a single quote \'
vertical tab \v question mark \?
carriage return \r double quote \"
horizontal \t backspace \b
formfeed \r backslash \\
8、C中引入的标准库如:vector、list集合。