C++名字空间

为什么要有名字空间(namespace)?可以想一个这样的问题,如果两个人写一个项目各写一部份,他们同时取了一个相同名字的函数(int add(int a,int b)),在主程序中调用了add函数,哪么编译器将会报错,不知道要link哪个写的add函数。这就是为什么要名字空间的原因,可以很好的解决重名问题,不会污染全局标识符。

对象object定义

定义好类后,使用类时就要,定义对象(object)。定义对象实际就是要申请内存(当然这个是编译器要处理的事),程序员只要定义对象。可以定义3类基本的对象,普通对象、引用对象、指针对象。

根据实际需求来确定定义哪一类对象。实际定义对象经验如下:一般定义普通变量,如果自已要控制对象生命周期就定义指针对象,如果是在编写代码时希望用另一个名字控制已有对象,可以定义一个引用对象。

类class定义

类class也是一种自定义类型,跟struct结构一样。但一般认为类是面向对象程序设计的部份,类中可以将抽象后的事物定义成属性或方法,还有非常好的封装性、重用性。
这个类定义看起来非常像struct结构的定义,Cpeople类的所有成员都定义成公有的public,后面将会一篇篇讲类的部份,将一点会加进去一点内容,最终将成员定义成私有的private。

数组使用注意点

数组array就是同一种类型的数据集合。数组的运用还是比较多的,比如成绩,工资,学号只要是一类的数据,就可以定义成数组。不过在使用数组时,还是有很多要小细节要注意。

注意一点数组不会做下标越界检查,比如上面的数组只有10个a[0]-a[9],但写成a[10]编译器是也会让通过编译,运行时将会出错,所以用数组下标的使用要小心。建议大家用Vector类来代替数组的使用,它也就是C++为了代替数组做的设计。