首页 > 代码库 > C++基础复习

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集合。

C++基础复习