c**a 发帖数: 316 | 1 怎么把 pointer 转化成 iterator 呢?
string s("life sucks.");
string::size_type pos = 3;
string::iterator it = &s[pos]; // error!
string::iterator it = s.begin() + 3; //not pretty.... |
l********s 发帖数: 358 | 2 string::iterator it = s.begin() + 3; //not pretty....
Why it is not pretty??? |
c**a 发帖数: 316 | 3 。。。
pos 就根本不是 pointer。
vector v(10);
char* p = &v[5];
vector::iterator it = p ; // error.
vector::iterator it = v.begin() + p - &v[0];
// now, it is ugly.
【在 l********s 的大作中提到】 : string::iterator it = s.begin() + 3; //not pretty.... : Why it is not pretty???
|
a*n 发帖数: 32 | 4 how about this?
string::iterator it = string::iterator(&s[pos]); |