Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何反转一个C++中的STD::string与这个构造函数一起工作?_C++_Stdstring - Fatal编程技术网

如何反转一个C++中的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,但我不明白它是如何工作的。你能给我一个解释吗?

在代码中:

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() );