関数の定義advance()
は次のとおりです。
template<class InIt, class Dist>
void advance(
InIt& it,
Dist n
);
コードでこの関数を使用すると:
string strArr[10];
strArr[0] = string("dd");
strArr[1] = string("gg");
strArr[2] = string("tt");
const vector<string> vecStr(strArr, strArr+6);
advance(vecStr.begin(), 2);
cout<<*(vecStr.begin())<<endl; // the output is dd
function の最初のパラメーターadvance()
が referenceであることはわかっているので、 afteradvance(vecStr.begin(), 2);
はverStr.begin()
を指す必要がありvecStr[2]
ます。しかし、出力からへのvecStr.begin()
ポイントが見つかりますstr[0]
。
知りたいですよね?