C++中vector地址怎么用的

2025-02-01 00:58:21
推荐回答(3个)
回答1:

PdOp是vector类型的指针,所以PdOp[i]是vector类型,并不是Parsed_Operator类型。程序修改如下:

vector* PdOp = &Pd_OpStr.PdOp[PieceOrder];
cout << (*PdOp)[i].OpID;

回答2:

PdOp指向vector类型,PdOp[i]相当于*(PdOp+i),它和*PdOp应该是同一个类型,所以是vector类型。
另外PdOp也不是一个数组的首地址,所以正确用法:
(*PdOp)[i].OpID
括号是必须的,下标操作符比解引用的优先级高。
这个表达式的理解是:取出指针PdOp指向的vector对象的第i个元素的OpID成员

回答3:

你先了解一下vector的用法,
应该用迭代器指向vector容器(类似指针),给你推荐几个,你看看是不是你要的答案,
http://zhidao.baidu.com/question/239654707.html
http://zhidao.baidu.com/question/360672934.html