cout << string(rcomma.base(),line.end()) << endl;
正如 line_rbegin()和line.end()一样,rcomma和rcomma.base()也指向不同的元素。从技术上来说,设计普通迭代器与反向迭代器之间的关系是为了适应左闭合范围这个性质的,所以,[line.rbegin(),rcomma) 和[rcomma.base(),line.end()) 标记的是line中的相同元素。
使用普通的迭代器对反向迭代器进行初始化或赋值时,所得到的迭代器并不是指向原迭代器所指向的元素!!!