- 此问题在此处已有答案**:
Difference between vector::begin() and std::begin()(2个答案)
2天前关闭。
在C++中使用sort(str.begin(), str.end())
和使用sort(std::begin(str), std::end(str))
有什么区别?
这两个函数都给出了与排序字符串相同的结果,但两者之间有什么区别吗?为什么两者都有?
Difference between vector::begin() and std::begin()(2个答案)
2天前关闭。
在C++中使用sort(str.begin(), str.end())
和使用sort(std::begin(str), std::end(str))
有什么区别?
这两个函数都给出了与排序字符串相同的结果,但两者之间有什么区别吗?为什么两者都有?
2条答案
按热度按时间46scxncf1#
同样的,但是如果你写
begin(str)
,它也可以处理数组,如果str是一个数组,那么str.begin()
就不起作用,因为数组不是一个类,所以有些人喜欢写begin(str)
。9jyewag02#
从
std::begin
的c++参考中,对于非数组:1.精确返回c.开始(),它通常是c表示的序列开头的迭代器。如果C是标准容器,则当c不是常量限定时返回C::iterator,否则返回C::const_iterator。
因此,对于
std::string
字符串使用str.begin()
或std::begin(str)
是完全相同的。