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