如何反转一个C++中的STD::string与这个构造函数一起工作?
我发现这个方法可以反转std::string,但我不明白它是如何工作的。你能给我一个解释吗?在代码中:如何反转一个C++中的STD::string与这个构造函数一起工作?,c++,stdstring,C++,Stdstring,我发现这个方法可以反转std::string,但我不明白它是如何工作的。你能给我一个解释吗?在代码中: std::string original; std::string reversed(original.rbegin(), original.rend()); 这就是所谓的: std::string original; std::string reversed(original.rbegin(), original.rend()); 使用范围[first,last]的内容构造字符串 因此,
std::string original;
std::string reversed(original.rbegin(), original.rend());
这就是所谓的:
std::string original;
std::string reversed(original.rbegin(), original.rend());
使用范围[first,last]的内容构造字符串
因此,迭代器的范围[original.rbegin,original.rend将被使用。并返回反向迭代器。这意味着范围将从原始字符串的最后一个字符开始,并在第一个字符rend指向前一个字符时结束,构造函数将不会访问该字符,因为间隔的那一侧是打开的。到底是什么这里清楚了吗?你读过相关文档了吗?你不了解它的哪些部分?如何工作?std::string构造函数是如何工作的,它的重载是什么?还有什么?它们是反向迭代器,你可以说rbegin相当于end。阅读这里:对不起,string不是你认为的向量,但是类似的itera在那里:
template< class InputIt >
basic_string( InputIt first, InputIt last,
const Allocator& alloc = Allocator() );