// 定义两个vector
vector<int> fib = {1, 2, 3};
vector<int> lucas = {2, 4, 6};
// 数组指针:指向数组的指针
vector<int>* pv = nullptr;
pv = &fib;
// 凡是调用指针之前,都应该检验pv是否为空
if(pv && pv->empty()){
// 查看数组指针是否work。先访问到vector, 再用[]访问vector的元素。
cout << (*pv)[0] << endl;
}
// 指针数组:装着指针的数组。前面指定vector内的元素的类型,后面的[]表示这个是一个数组
vector<int>* seq_add[2] = {
&fib, &lucas
};
// 从上面可以看到。指针数字和数组指针的重要差别在于是否有括号。
// 这一直是一个令初学者头疼的问题。
// 先访问到数组指针。第一个[0]表示访问到数组指针的第一个元素,其是一个地址。得到一个vector,
// 第二个[0]表示访问fib的第一个元素。
cout << (*seq_add)[0][0] << endl;
cout << seq_add[0] << endl;
cout << *seq_add << endl;