永发信息网

sort前为什么要std::

答案:3  悬赏:60  手机版
解决时间 2021-02-09 05:49
  • 提问者网友:放下
  • 2021-02-08 17:53
我在#include后 使用sort 提示未定义 必须std:sort()才行 为什么?
最佳答案
  • 五星知识达人网友:封刀令
  • 2021-02-08 18:47
sort函数实在std名字空间里的,有两种方式
一种是在前面说明:using namespace std;则可以直接调用sort函数
另一种就是直接写全,std::sort.
名字空间主要是为了防止函数名字和类型均一致,发生冲突。
全部回答
  • 1楼网友:胯下狙击手
  • 2021-02-08 20:26
std::sort要求容器的迭代器是随机迭代器,而list和set这样的用的结点实现的容器不能生成随机迭代器,所以不能用std::sort
  • 2楼网友:低血压的长颈鹿
  • 2021-02-08 20:17
因为 algorithm里的sort被定义在std命名空间里(可以去看编译器include目录下面的头文件源码) 用这样的方式就可以防止函数的名字冲突了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯