関数の定義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]。
知りたいですよね?