When doing my Computer Graphics course projects using C++ in WUSTL, share some useful notes with you.
Review of 二维数组:
example: 1 2 3 4
5 6 7 8
9 0 0 9
假设该数组名为 array, 数组名表示数组首地址。
a). array 表示第一行首地址
array--> 1 2 3 4
5 6 7 8
9 0 0 9
b). array[0] 表示第一行第一列的首地址
即 1 的地址。
array[0] +1 表示第一行第二列的首地址
即 2 的地址。
1. float ** x 用法
二维数组,指向 float 指针的指针数组;指向浮点数的指针的指针,二重指针,x是二维指针名,此二维指针的数据类型是实型的。
example 1 : float **p, *i, n=10.02;
i=&n;
p=&i;
example 2: float **p=a[0]
*p是取出a[0][0]的地址,**p是取出a[0][0]的值,所以是直接赋值。
2. :: 的用法小结
用于将类内声明的静态数据成员在类外初始化;
用于将类内声明的函数成员在类外实现;
用于取出继承时访问权限被改变的成员,使之还原为原来的权限;
继承时派生类新增了与基类同名的成员,由于同名屏蔽,从而使基类的成员被遮蔽,可用::将被遮蔽的基类成员重见天日。
用于在类外或子类中访问不继承的静态成员;
用于区分不同名空间的标识符。
三大作用:a) 恢复访问权。
attention: 恢复时不可带类型名 A :: get_a (int A :: get_a is wrong);
只能恢复不可提升或降低访问权限;
当父类被恢复的函数重载时,将全部恢复;
父类中不同访问域的重载函数不能恢复;
若子类新增了与父类同名的成员,则父类同名的成员不可恢复。
b) 隐藏再现。
3. std::vector用法
vector 是C++标准模板库中的部分内容,是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。它能够像容器一样存放各种类型的对象。vector 是一个能够存放任意类型的动态数组,能够增加和压缩数据。
为了使用 vector, 头文件中必须包含下面代码:
#include<vector>
vector 属于 std 命名域,需要通过命名限定:
using std::vector; 或 std::vector;
建议使用全局的命名域方式:
using namespace std;
more information about "vector" in C++:
http://ceeji.net/blog/cpp-std-vector/