PdOp是vector
vector* PdOp = &Pd_OpStr.PdOp[PieceOrder];
cout << (*PdOp)[i].OpID;
PdOp指向vector类型,PdOp[i]相当于*(PdOp+i),它和*PdOp应该是同一个类型,所以是vector类型。
另外PdOp也不是一个数组的首地址,所以正确用法:
(*PdOp)[i].OpID
括号是必须的,下标操作符比解引用的优先级高。
这个表达式的理解是:取出指针PdOp指向的vector对象的第i个元素的OpID成员
你先了解一下vector的用法,
应该用迭代器指向vector容器(类似指针),给你推荐几个,你看看是不是你要的答案,
http://zhidao.baidu.com/question/239654707.html
http://zhidao.baidu.com/question/360672934.html